コード例 #1
0
        public ActionResult Edit(MenuRecordModel model, bool continueEditing, FormCollection form)
        {
            var menu = _menuStorage.GetMenuById(model.Id);

            if (menu == null)
            {
                return(HttpNotFound());
            }

            if (ModelState.IsValid)
            {
                MiniMapper.Map(model, menu);
                menu.WidgetZone = string.Join(",", model.WidgetZone ?? new string[0]).NullEmpty();

                _menuStorage.UpdateMenu(menu);

                SaveStoreMappings(menu, model.SelectedStoreIds);
                SaveAclMappings(menu, model.SelectedCustomerRoleIds);
                UpdateLocales(menu, model);

                Services.EventPublisher.Publish(new ModelBoundEvent(model, menu, form));

                NotifySuccess(T("Admin.Common.DataSuccessfullySaved"));
                return(continueEditing ? RedirectToAction("Edit", menu.Id) : RedirectToAction("List"));
            }

            PrepareModel(model, menu);

            return(View(model));
        }