/// <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); }
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); }