public ModifyMenuItemResponse ModifyMenuItem(ModifyMenuItemRequest request)
        {
            ModifyMenuItemResponse response = new ModifyMenuItemResponse();

            MenuItem menuItem = _menuItemRepository
                                .FindBy(request.MenuItemId);

            menuItem.Id           = request.MenuItemId;
            menuItem.MenuItemName = request.MenuItemName;
            menuItem.ParentId     = request.ParentId;
            menuItem.MenuItemUrl  = request.MenuItemUrl;


            if (menuItem.GetBrokenRules().Count() > 0)
            {
                response.Errors = menuItem.GetBrokenRules().ToList();
            }
            else
            {
                try {
                    _menuItemRepository.Save(menuItem);
                    _uow.Commit();
                    response.Errors = new List <BusinessRule>();
                } catch (Exception ex)
                {
                    response.Errors = new List <BusinessRule>();
                    response.Errors.Add(new BusinessRule("DAL", "DAL_ERROR: " + ex.Message));
                }
            }


            return(response);
        }
        public JsonResult Update(MenuItemDetailView vm)
        {
            GetMenuItemRequest request = new GetMenuItemRequest();

            request.MenuItemId = vm.MenuItemId;

            ModifyMenuItemRequest updateRequest = _menuItemService.GetMenuItem(request).MenuItem.ConvertToModifyMenuItemRequest();

            updateRequest.MenuItemId   = vm.MenuItemId;
            updateRequest.MenuItemName = vm.MenuItemName;
            updateRequest.ParentId     = vm.ParentId;
            updateRequest.MenuItemUrl  = vm.MenuItemUrl;

            ModifyMenuItemResponse response = _menuItemService.ModifyMenuItem(updateRequest);

            return(Json(response));
        }