コード例 #1
0
        public JsonResult CreateEditMenu(string model)
        {
            var query = Request.Query;
            var menu  = JsonConvert.DeserializeObject <NccMenuViewModel>(model);

            var r = new ApiResponse();

            if (menu != null)
            {
                if (menu.Name.Trim() == "")
                {
                    r.IsSuccess = false;
                    r.Message   = "Please enter a menu name.";
                }
                else if (menu.Position.Trim() == "")
                {
                    r.IsSuccess = false;
                    r.Message   = "Please select a menu position.";
                }
                else if (menu.Items.Count == 0)
                {
                    r.IsSuccess = false;
                    r.Message   = "You cannot save an empty menu.";
                }
                else
                {
                    if (menu.Id > 0)
                    {
                        if (_menuService.LoadAllByName(menu.Name).Count > 0 && _menuService.LoadAllByName(menu.Name).FirstOrDefault().Id != menu.Id)
                        {
                            r.IsSuccess = false;
                            r.Message   = "This menu name already used.";
                        }
                        else
                        {
                            NccMenu menuModel = CreateMenuObject(menu);
                            CreateMenuItems(menuModel, menu);
                            _menuService.Update(menuModel);

                            r.IsSuccess = true;
                            r.Message   = "Menu updated successfully.";
                        }
                    }
                    else
                    {
                        if (_menuService.LoadAllByName(menu.Name).Count > 0)
                        {
                            r.IsSuccess = false;
                            r.Message   = "This menu name already exists.";
                        }
                        else
                        {
                            NccMenu menuModel = CreateMenuObject(menu);
                            CreateMenuItems(menuModel, menu);
                            _menuService.Save(menuModel);

                            r.IsSuccess = true;
                            r.Message   = "Menu added successfully.";
                        }
                    }
                }
            }

            GlobalConfig.Menus = _menuService.LoadAllSiteMenus();
            ViewBag.MenuList   = _menuService.LoadAll();
            //ApiResponse rsp = new ApiResponse();
            //rsp.IsSuccess = false;
            //rsp.Message = "Error occoured. Please fill up all field correctly.";
            //return Json(rsp);
            return(Json(r));
        }