public IActionResult PostMenu([FromBody] PostMenuDTO menuDTO) { _requestLogService.SaveRequest(User.Identity.GetUserId(), "POST", "api/v1/menus", "PostMenu"); if (!ModelState.IsValid) { return(BadRequest("Invalid fields provided, please double check the parameters")); } if (menuDTO.RestaurantId.Equals(null)) { return(BadRequest("Menu is not related any Restaurant")); } if (!IsRestaurantUserOrAdmin(menuDTO.RestaurantId)) { return(BadRequest("New menu can only be added by admin or by restaurant user")); } int userMenus = _menuService.GetUserMenuCount(User.Identity.GetUserId()); if (!User.IsInRole("premiumUser") && !User.IsInRole("admin")) { if (userMenus >= 1) { return(StatusCode(403, "Regular user can only create 1 menu. Please sign up for premium services to add more.")); } if (menuDTO.PromotionId != null) { return(StatusCode(403, "New menu with promotion can only be added by admin or premium user")); } } var newMenu = _menuService.AddNewMenu(menuDTO, User.Identity.GetUserId()); return(CreatedAtAction(nameof(GetMenu), new { id = newMenu.MenuId }, newMenu)); }
public IActionResult AddNewMenu(MenuForCreationVm menuModel) { if (menuModel.Btn == "Submit") { _menuService.AddNewMenu(menuModel); } return(RedirectToAction("index")); }
public ActionResult AddOrUpdateMenu(MenuDTO model) { var menu = menuService.GetMenu(model.Id); if (menu != null && menu.IsCompleted != 1) { var result = menuService.UpdateMenu(model); ModelState.AddModelError("", "МОдель была обновлена успешно"); } else if (menu == null) { if (menuService.AddNewMenu(model)) { ModelState.AddModelError("", "Добавление прошло успешно"); } } else { ModelState.AddModelError("", "При выполнении действия возникли ошибки"); } return(RedirectToAction("AddNewItemIntoMenu")); }