Пример #1
0
        /// <summary>
        /// Добавить пункт меню - подготовка
        /// </summary>
        /// <param name="menuId">Идентификатор меню</param>
        /// <param name="parentMenuItemId">Идентификатор родительского пункта</param>
        /// <returns>Представление для ввода данных нового пункта</returns>
        public ActionResult AddMenuItem(int menuId, int parentMenuItemId)
        {
            var menuItemViewModel = new AddMenuItemViewModel();
            menuItemViewModel.RouteMenuId = menuId;

            return View(menuItemViewModel);
        }
Пример #2
0
        public ActionResult AddMenuItem(
            int menuId, 
            int parentMenuItemId, 
            AddMenuItemViewModel menuItemViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var menuItemDto = Mapper.Map<MenuItemAddingDto>(menuItemViewModel);

                    if (parentMenuItemId == 0)
                    {
                        lock (_updateLocker)
                        {
                            _menuItemManagementService.AddMenuItem(menuId, menuItemDto);
                        }
                    }
                    else
                    {
                        lock (_updateLocker)
                        {
                            _menuItemManagementService.AddMenuItem(
                                menuId,
                                parentMenuItemId,
                                menuItemDto);
                        }
                    }

                    return RedirectToAction("DetailMenu", new { id = menuId });
                }
            }
            catch (MenuNotFoundException exception)
            {
                ModelState.AddModelError(String.Empty, _menuNotFoundError);
                _logger.Error(
                    exception,
                    "Не удалось создать пункт меню, т.к. меню не существует:" +
                        " menuId='{0}', parentMenuItemId='{1}'",
                    menuId,
                    parentMenuItemId);
            }
            catch (MenuItemNotFoundException exception)
            {
                ModelState.AddModelError(String.Empty, _parentMenuItemNotFoundError);
                _logger.Error(
                    exception,
                    "Не удалось создать пункт меню, т.к. родительский пункт меню не существует:" +
                        " menuId='{0}', parentMenuItemId='{1}'",
                    menuId,
                    parentMenuItemId);
            }
            catch (Exception exception)
            {
                ModelState.AddModelError(String.Empty, _generalError);
                _logger.Error(
                    exception,
                    "Не удалось создать пункт меню: menuId='{0}', parentMenuItemId='{1}'",
                    menuId,
                    parentMenuItemId);
            }

            return View(menuItemViewModel);
        }