Beispiel #1
0
 public void Edit(Menu menu)
 {
     menu.LastModifiedDate = DateTime.Now;
     menu.SortOrder = (menu.SortOrder == 0 || menu.SortOrder == 1 ? menu.Id + 1 : menu.SortOrder);
     db.Entry(menu).State = System.Data.Entity.EntityState.Modified;
     db.SaveChanges();
 }
Beispiel #2
0
 public SitemapNode(Menu page)
 {
     Url = GetPageUrl(page);
     Priority = null;
     Frequency = null;
     LastModified = null;
 }
Beispiel #3
0
 private string GetPageUrl(Menu page)
 {
     if (page.ParentId == 0)
     {
         return ConfigurationManager.AppSettings["LocalPath"] + "/" + page.Url;
     }
     else
     {
         return ConfigurationManager.AppSettings["LocalPath"] + "/"
             + MenuController.GetMenuUrl(page.ParentId) + "/" + page.Url;
     }
 }
Beispiel #4
0
        public void Create(Menu menu)
        {
            menu.LastModifiedDate = DateTime.Now;
            //Menu image = (from i in this.db.Images
            //               where i.Sortindex == (from x in this.db.Images select x.Sortindex).Max<int>()
            //               select i).SingleOrDefault<Image>();
            //int num = (image == null) ? 1 : (image.Sortindex + 1);

            db.Menues.Add(menu);
            db.SaveChanges();
            var res = db.Menues.Single(x => x.Url == menu.Url);
            res.SortOrder = res.Id + 1;
            db.SaveChanges();
        }
Beispiel #5
0
 public ActionResult Edit(Menu menu, int page = 1)
 {
     if (ModelState.IsValid)
     {
         _repository.Edit(menu);
         //HttpRuntime.UnloadAppDomain();
         TempData["message"] = menu.ParentId == 0 ? "Раздел " + menu.Text + " отредактирован" : "Подраздел " + menu.Text + " отредактирован";
         TempData["type"] = 1;
         if (menu.ParentId == 0) return RedirectToAction("MenuList", new { type = menu.MenuSection, page = page });
         else return RedirectToAction("Details", new { id = menu.ParentId, page = page });
     }
     TempData["message"] = "что-то пошло не так";
     TempData["type"] = 4;
     return View(menu);
 }
Beispiel #6
0
        public ActionResult Delete(Menu menu, int page = 1)
        {
            if (_repository.Menues.Any(x => x.ParentId == menu.Id))
            {
                TempData["message"] = "Удалите сначала все подразделы раздела " + menu.Text;
                TempData["type"] = 4;
                //ModelState.AddModelError("", "Удалите сначала все подразделы меню");
                return RedirectToAction("Details", new { id = menu.Id, page = page });
            }
            var item = _repository.Get(menu.Id);
            if (item == null)
            {
                TempData["message"] = "что-то пошло не так";
                TempData["type"] = 4;
                return RedirectToAction("Details", new { id = menu.ParentId, page = page });
            }
            if (item.ParentId == 0)
            {
                TempData["message"] = item.ParentId == 0 ? "Раздел " + item.Text + " удален" : "Подраздел " + item.Text + " удален";
                TempData["type"] = 1;
                _repository.Delete(item);
                return RedirectToAction("MenuList", new { type = menu.MenuSection, page = page });
            }
            else
            {
                TempData["message"] = item.ParentId == 0 ? "Раздел " + item.Text + " удален" : "Подраздел " + item.Text + " удален";
                TempData["type"] = 1;
                _repository.Delete(item);

                return RedirectToAction("Details", new { id = menu.ParentId, page = page });
            }
        }
Beispiel #7
0
        public ActionResult Create(Menu menu)
        {
            if (_repository.Menues.Any(x => x.Url == menu.Url && x.MenuSection == menu.MenuSection))
            {
                //ModelState.AddModelError("", "Раздел с таким именем-URL уже существует");
                TempData["message"] = "Раздел с таким именем-URL уже существует";
                TempData["type"] = 4;
                return View();
            }
            if (ModelState.IsValid)
            {
                _repository.Create(menu);

                HttpRuntime.UnloadAppDomain();
                TempData["message"] = "Раздел " + menu.Text + " создан";
                TempData["type"] = 1;
                if (menu.ParentId == 0)
                {
                    return RedirectToAction("MenuList", new { type = menu.MenuSection });
                }

                return RedirectToAction("Details", new { id = menu.ParentId });

            }
            if (menu.ParentId != 0)
            {

                ViewBag.ParentId = menu.ParentId;
                ViewBag.type = _repository.Get(menu.ParentId).MenuSection;
            }
            else
            {
                ViewBag.ParentId = 0;
            }
            TempData["message"] = "что-то пошло не так";
            TempData["type"] = 4;
            return View(menu);
        }
Beispiel #8
0
 public void Delete(Menu menu)
 {
     db.Menues.Remove(menu);
     db.SaveChanges();
 }