YAZAR – YAYINEVI CONTROLLER İŞLEMLERİ DERS 33

Bu dersimizde de yayın evi controller ve yazar controller üzerinde çalışacağız. Kodlarımızı yazalım, detaylı ders anlatımı ve kod takibi için videoya bakınız.

YayinEvi Controller:

using GRSYKitapEvi_DataAccess.Data;
using GRSYKitapEvi_Model.Models;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace GRSYKitapEvi.Controllers
{
    public class YayinEviController : Controller
    {
        private readonly ApplicationDbContext _db;

        public YayinEviController(ApplicationDbContext db)
        {
            _db = db;
        }

        public IActionResult Index()
        {
            List< YayinEvi> objList = _db.YayinEvleri.ToList();
            return View(objList);
        }

        public IActionResult Update_Insert(int? id)
        {
            YayinEvi obj = new YayinEvi();
            if (id == null)
            {
                return View(obj);
            }

            obj = _db.YayinEvleri.FirstOrDefault(a => a.YayinEvi_Id == id);

            if (obj == null)
            {
                return NotFound();
            }

            return View(obj);
        }

        [HttpPost]
        [ValidateAntiForgeryToken]
        public IActionResult Update_Insert(YayinEvi obj)
        {
            if (ModelState.IsValid)
            {
                if (obj.YayinEvi_Id == 0)
                {
                    //Create (Oluşturma)
                    _db.YayinEvleri.Add(obj);
                }

                else
                {
                    //Update (Güncelleme)
                    _db.YayinEvleri.Update(obj);
                }

                _db.SaveChanges();
                return RedirectToAction(nameof(Index));
            }

            return View(obj);

        }

        public IActionResult Sil(int id)
        {
            var objDb = _db.YayinEvleri.FirstOrDefault(a => a.YayinEvi_Id == id);
            _db.YayinEvleri.Remove(objDb);
            _db.SaveChanges();
            return RedirectToAction(nameof(Index));

        }


    }
}

YazarController:

using GRSYKitapEvi_DataAccess.Data;
using GRSYKitapEvi_Model.Models;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace GRSYKitapEvi.Controllers
{
    public class YazarController : Controller
    {
        private readonly ApplicationDbContext _db;

        public YazarController(ApplicationDbContext db)
        {
            _db = db;
        }

        public IActionResult Index()
        {
            List< Yazar> objList = _db.Yazarlar.ToList();
            return View(objList);
        }

        public IActionResult Update_Insert(int? id)
        {
            Yazar obj = new Yazar();
            if (id == null)
            {
                return View(obj);
            }

            obj = _db.Yazarlar.FirstOrDefault(a => a.Yazar_Id == id);

            if (obj == null)
            {
                return NotFound();
            }

            return View(obj);
        }

        [HttpPost]
        [ValidateAntiForgeryToken]
        public IActionResult Update_Insert(Yazar obj)
        {
            if (ModelState.IsValid)
            {
                if (obj.Yazar_Id == 0)
                {
                    //Create (Oluşturma)
                    _db.Yazarlar.Add(obj);
                }

                else
                {
                    //Update (Güncelleme)
                    _db.Yazarlar.Update(obj);
                }

                _db.SaveChanges();
                return RedirectToAction(nameof(Index));
            }

            return View(obj);

        }

        public IActionResult Sil(int id)
        {
            var objDb = _db.Yazarlar.FirstOrDefault(a => a.Yazar_Id == id);
            _db.Yazarlar.Remove(objDb);
            _db.SaveChanges();
            return RedirectToAction(nameof(Index));

        }
    }
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir