public ActionResult AddOrEdit(int? id)
        {
            var model = new MenuItemViewModel();
            if (id.HasValue)
            {
                var item = Db.Get<MenuItem>(id.Value);
                model = Mapper.Map(item, model);
            }

            return View(model);
        }
        public ActionResult Index(int id)
        {
            var model = new MenuItemViewModel();

            var item = Db.Get<MenuItem>(id);
            if (item == null)
            {
                return View("ServerError", (object)"Страница не найдена");
            }
            model = Mapper.Map(item, model);

            return View(model);
        }
        public ActionResult AddOrEdit(MenuItemViewModel model)
        {
            var item = new MenuItem();
            if (model.Id > 0)
            {
                item = Db.Get<MenuItem>(model.Id);
            }
            item = Mapper.Map(model, item);

            var result = Db.SaveOrUpdate(item);

            return RedirectToAction("List");
        }
        public ActionResult AddOrEdit(int? id)
        {
            //TODO MenuItemService
            var model = new MenuItemViewModel();
            if (id.HasValue)
            {
                var item = Db.Get<MenuItem>(id.Value);
                model = Mapper.Map(item, model);
            }

            var items = Db.Select<MenuItem>();
            model.MenuItems = Mapper.Map<ICollection<SelectListItem>>(items);

            model.MenuItems.Add(new SelectListItem { Value = null, Text = "Пункт главного меню", Selected = model.ParentId.HasValue == false});

            if (model.MenuItems.All(m => m.Selected == false))
            {
                var selected = model.MenuItems.FirstOrDefault(m => m.Value == model.ParentId.Value.ToString());
                selected.Selected = true;
            }

            return View(model);
        }
        public ActionResult Set(MenuItemViewModel model)
        {
            MenuItem item = null;
            if (model.Id > 0)
            {
                item = Db.Get<MenuItem>(model.Id);
            }
            if (item == null)
            {
                Logger.Fatal($"Не найден указанный пункт меню: {model.Id}");
                return View("ServerError", (object)"Не найден указанный пункт меню");
            }
            item.Url = model.Url;

            var result = Db.SaveOrUpdate(item);

            return RedirectToAction("List");
        }