public ActionResult Ekle(int id = 0)
        {
            var model = new KullaniciEkleVM();
            var user  = izinContext.Kullanicilar.Where(x => x.Id == id).FirstOrDefault();

            //düzenleme işlemi oluyor
            if (user != null)
            {
                model.id           = user.Id;
                model.KullaniciAdi = user.KullaniciAdi;
                model.AdSoyad      = user.AdSoyad;
                model.eposta       = user.Eposta;
                model.Parola       = user.Parola;
                model.AktifMi      = user.AktifMi;

                List <Rol> userRol = new List <Rol>();
                userRol = user.Roller.ToList();
                for (int i = 0; i < userRol.Count; i++)
                {
                    if (userRol[i].RolAdi == "Admin")
                    {
                        model.AdminMi = true;
                    }
                    else if (userRol[i].RolAdi == "Yonetici")
                    {
                        model.YoneticiMi = true;
                    }
                    else if (userRol[i].RolAdi == "Personel")
                    {
                        model.PersonelMi = true;
                    }
                }
            }
            //elsesi yada 0 dan kullanıcı ekliyoruz
            return(View(model));
        }
        public ActionResult Ekle(KullaniciEkleVM model)
        {
            if (ModelState.IsValid)
            {
                var user = izinContext.Kullanicilar.Where(x => x.KullaniciAdi == model.KullaniciAdi).FirstOrDefault();
                //yeni kullanıcımı? sorusuna cevap arıyoruz
                if (user == null || (user != null && user.Id == 0))
                {
                    #region kullanıcı ekleme için bilgiler set ediliyor
                    var newUser = new Kullanici();
                    newUser.KullaniciAdi = model.KullaniciAdi;
                    newUser.Parola       = model.Parola;
                    newUser.AdSoyad      = model.AdSoyad;
                    newUser.Eposta       = model.eposta;
                    newUser.AktifMi      = true;

                    //rolleri ekliyoruz
                    newUser.Roller = new List <Rol>();
                    var adminRol    = izinContext.Roller.FirstOrDefault(x => x.Id == 1);
                    var yoneticiRol = izinContext.Roller.FirstOrDefault(x => x.Id == 2);
                    var personelRol = izinContext.Roller.FirstOrDefault(x => x.Id == 3);
                    if (model.AdminMi)
                    {
                        newUser.Roller.Add(adminRol);
                    }
                    if (model.YoneticiMi)
                    {
                        newUser.Roller.Add(yoneticiRol);
                    }
                    if (model.PersonelMi)
                    {
                        newUser.Roller.Add(personelRol);
                    }
                    izinContext.Kullanicilar.Add(newUser);
                    izinContext.SaveChanges();

                    return(RedirectToAction("Index"));

                    #endregion
                }
                else
                {
                    if (model.id > 0)
                    {
                        #region kullanıcı düzenleme işlemi için bilgiler set ediliyor

                        user.AdSoyad      = model.AdSoyad;
                        user.KullaniciAdi = model.KullaniciAdi;
                        user.Parola       = model.Parola;
                        user.Eposta       = model.eposta;
                        user.AktifMi      = model.AktifMi;

                        user.Roller = new List <Rol>();
                        var adminRol    = izinContext.Roller.FirstOrDefault(x => x.Id == 1);
                        var yoneticiRol = izinContext.Roller.FirstOrDefault(x => x.Id == 2);
                        var personelRol = izinContext.Roller.FirstOrDefault(x => x.Id == 3);

                        if (model.AdminMi)
                        {
                            user.Roller.Add(adminRol);
                        }
                        else
                        {
                            user.Roller.Remove(adminRol);
                        }
                        if (model.YoneticiMi)
                        {
                            user.Roller.Add(yoneticiRol);
                        }
                        else
                        {
                            user.Roller.Remove(yoneticiRol);
                        }
                        if (model.PersonelMi)
                        {
                            user.Roller.Add(personelRol);
                        }
                        else
                        {
                            user.Roller.Remove(personelRol);
                        }

                        izinContext.Kullanicilar.Attach(user);
                        izinContext.Entry(user).State = EntityState.Modified;
                        izinContext.SaveChanges();
                        #endregion

                        return(RedirectToAction("Index"));
                    }
                }
            }
            return(View(model));
        }