示例#1
0
        public ActionResult AltKategoriTanimi(AltKategori cat)
        {
            try
            {
                db.AltKategori.Add(cat);
                db.SaveChanges();

                #region , Kategori Rolleri Ekleme
                int Lastid = 0;
                if (db.AltKategori.ToList().Count != 0)
                {
                    Lastid = db.AltKategori.Max(x => x.ID);
                }
                AltKategori k = db.AltKategori.Where(x => x.ID == Lastid).SingleOrDefault();

                int adminID = 1;
                adminID = (int)db.Rol.Where(x => x.RolAdi == "Admin").SingleOrDefault().ID;
                KategoriRol kr2 = new KategoriRol {
                    RolID = adminID, KategoriID = k.ID
                };
                db.KategoriRol.Add(kr2);
                db.SaveChanges();

                Personel p = (Personel)Session["Kullanici"];
                if (p.RolID != adminID)
                {
                    KategoriRol kr = new KategoriRol {
                        RolID = p.RolID, KategoriID = k.ID
                    };
                    db.KategoriRol.Add(kr);
                    db.SaveChanges();
                }
                #endregion

                TempData["GenelMesaj"] = "Kategori tanımı başarılı bir şekilde tamamlanmıştır.";
                return(RedirectToAction("AltKategoriListesi"));
            }
            catch (Exception)
            {
                return(Redirect("/Admin/Hata"));
            }
        }
示例#2
0
        public ActionResult Yetkiler(int RolID, string menuler, string islemler, string katrol)
        {
            try
            {
                //, MenuList list , IslemErisimList list2
                Rol r = db.Rol.Where(x => x.ID == RolID).FirstOrDefault(); // Düzenlenmek istenen Rolu bul

                if (r == null)                                             // rol boş ise hata döndür
                {
                    return(RedirectToAction("Hata", "Admin"));
                }

                #region ,Menü Rolleri update
                //Bu role ait tüm yetkileri
                List <MenuRol> menuRol = db.MenuRol.Where(x => x.RolID == r.ID).ToList();


                // Menü rollerinin silinmesi
                foreach (var item in menuRol)
                {
                    db.MenuRol.Remove(item);
                }
                db.SaveChanges(); // roller sıfırlandı.

                //Tüm rolleri yeniden yükle ve değişiklikleri kayıt et.
                string[] Menuparts = menuler.Split('^');
                Array.Reverse(Menuparts);
                List <Menu> Eklenenmenuler = new List <Menu>();
                for (int i = 0; i < Menuparts.Length; i++)
                {
                    string s   = Menuparts[i].ToString();
                    Menu   alt = db.Menu.Where(x => x.Adi == s).FirstOrDefault();
                    if (alt != null)
                    {
                        Eklenenmenuler.Add(alt);
                    }
                }
                foreach (Menu item in Eklenenmenuler)
                {
                    MenuRol rol = new MenuRol();
                    rol.MenuID = item.ID;
                    rol.RolID  = RolID;
                    db.MenuRol.Add(rol);
                    db.SaveChanges();
                }
                // MenuList.RolKontrol(list, RolID);
                ViewBag.Yetkileri = db.MenuRol.Where(x => x.RolID == r.ID).ToList();
                ViewBag.Menuler   = db.Menu.ToList();
                #endregion

                #region ,İşlem Rolleri Update
                //Bu role ait post izinleri
                List <ErisimRol> erisimRol = db.ErisimRol.Where(x => x.RolID == r.ID).ToList();


                // Erisim rollerinin silinmesi
                foreach (var item in erisimRol)
                {
                    db.ErisimRol.Remove(item);
                }
                db.SaveChanges(); // roller sıfırlandı.



                string[]           Islemparts = islemler.Split('^');
                List <IslemErisim> islemlerim = new List <IslemErisim>();
                for (int i = 0; i < Islemparts.Length; i++)
                {
                    string      s      = Islemparts[i].ToString();
                    IslemErisim islemi = db.IslemErisim.Where(x => x.Adı == s).FirstOrDefault();
                    if (islemi != null)
                    {
                        islemlerim.Add(islemi);
                    }
                }

                //Tüm erisimleri yeniden yükle ve değişiklikleri kayıt et.
                foreach (IslemErisim item in islemlerim)
                {
                    ErisimRol rol = new ErisimRol();
                    rol.ErisimID = item.ID;
                    rol.RolID    = RolID;
                    db.ErisimRol.Add(rol);
                    db.SaveChanges();
                }
                #endregion

                #region , ürün Kategori rolleri
                string[]           parts = katrol.Split('^');
                List <AltKategori> alts  = new List <AltKategori>();
                for (int i = 0; i < parts.Length; i++)
                {
                    string      s   = parts[i].ToString();
                    AltKategori alt = db.AltKategori.Where(x => x.KategoriAdi == s).FirstOrDefault();
                    if (alt != null)
                    {
                        alts.Add(alt);
                    }
                }
                List <KategoriRol> kr = db.KategoriRol.Where(x => x.RolID == RolID).ToList();

                foreach (var item in kr) // tüm kategori rollerini sil.
                {
                    db.KategoriRol.Remove(item);
                }
                db.SaveChanges();


                //tüm rolleri yeniden yükle
                foreach (AltKategori item in alts)
                {
                    KategoriRol ktr = new KategoriRol();
                    ktr.RolID      = RolID;
                    ktr.KategoriID = item.ID;
                    db.KategoriRol.Add(ktr);
                    db.SaveChanges();
                }
                #endregion
                //Sayfayı geri yükle
                TempData["GenelMesaj"] = "Profil yetkileri başarılı bir şekilde güncellenmiştir.";
                return(RedirectToAction("ProfilListesi"));
            }
            catch (Exception)
            {
                return(Redirect("/Admin/Hata"));
            }
        }