Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        public IActionResult AddNewMenu(MenuForCreationVm menuModel)
        {
            if (menuModel.Btn == "Submit")
            {
                _menuService.AddNewMenu(menuModel);
            }

            return(RedirectToAction("index"));
        }
Ejemplo n.º 3
0
        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"));
        }