Example #1
0
        public async Task <ActionResult> UnifiedSetEdit_Partial(EditModel model)
        {
            using (UnifiedSetDataProvider unifiedSetDP = new UnifiedSetDataProvider()) {
                UnifiedSetData unifiedSet = await unifiedSetDP.GetItemAsync(model.UnifiedSetGuid);// get the original item

                if (unifiedSet == null)
                {
                    throw new Error(this.__ResStr("alreadyDeleted", "The unified page set with id {0} has been removed and can no longer be updated", model.UnifiedSetGuid));
                }

                ObjectSupport.CopyData(unifiedSet, model, ReadOnly: true); // update read only properties in model in case there is an error
                if (!ModelState.IsValid)
                {
                    return(PartialView(model));
                }

                unifiedSet = model.GetData(unifiedSet); // merge new data into original
                model.SetData(unifiedSet);              // and all the data back into model for final display

                switch (await unifiedSetDP.UpdateItemAsync(unifiedSet))
                {
                default:
                case UpdateStatusEnum.RecordDeleted:
                    throw new Error(this.__ResStr("alreadyDeleted", "The unified page set with id {0} has been removed and can no longer be updated", model.UnifiedSetGuid));

                case UpdateStatusEnum.NewKeyExists:
                    ModelState.AddModelError(nameof(model.Name), this.__ResStr("alreadyExists", "An unified page set named \"{0}\" already exists", model.Name));
                    return(PartialView(model));

                case UpdateStatusEnum.OK:
                    break;
                }
                return(FormProcessed(model, this.__ResStr("okSaved", "Unified page set saved"), OnPopupClose: OnPopupCloseEnum.ReloadModule));
            }
        }
 public async Task <ActionResult> Remove(Guid unifiedSetGuid)
 {
     using (UnifiedSetDataProvider unifiedSet = new UnifiedSetDataProvider()) {
         if (!await unifiedSet.RemoveItemAsync(unifiedSetGuid))
         {
             throw new Error(this.__ResStr("cantRemove", "Couldn't remove {0}", unifiedSetGuid));
         }
         return(Reload(null, Reload: ReloadEnum.ModuleParts));
     }
 }
Example #3
0
        public async Task <ActionResult> UnifiedSetEdit(Guid unifiedSetGuid)
        {
            using (UnifiedSetDataProvider unifiedSetDP = new UnifiedSetDataProvider()) {
                EditModel model     = new EditModel {
                };
                UnifiedSetData data = await unifiedSetDP.GetItemAsync(unifiedSetGuid);

                if (data == null)
                {
                    throw new Error(this.__ResStr("notFound", "Unified page set with id \"{0}\" not found"), unifiedSetGuid);
                }
                model.SetData(data);
                return(View(model));
            }
        }
Example #4
0
        public async Task <ActionResult> UnifiedSetAdd_Partial(AddModel model)
        {
            if (!ModelState.IsValid)
            {
                return(PartialView(model));
            }

            using (UnifiedSetDataProvider unifiedSetDP = new UnifiedSetDataProvider()) {
                if (!await unifiedSetDP.AddItemAsync(model.GetData()))
                {
                    ModelState.AddModelError(nameof(model.Name), this.__ResStr("alreadyExists", "A Unified Page Set named \"{0}\" already exists", model.Name));
                    return(PartialView(model));
                }
                return(FormProcessed(model, this.__ResStr("okSaved", "New Unified Page Set saved"), OnPopupClose: OnPopupCloseEnum.ReloadModule));
            }
        }
        private GridDefinition GetGridModel()
        {
            return(new GridDefinition {
                ModuleGuid = Module.ModuleGuid,
                SettingsModuleGuid = Module.PermanentGuid,
                RecordType = typeof(BrowseItem),
                AjaxUrl = GetActionUrl(nameof(UnifiedSetsBrowse_GridData)),
                DirectDataAsync = async(int skip, int take, List <DataProviderSortInfo> sort, List <DataProviderFilterInfo> filters) => {
                    using (UnifiedSetDataProvider unifiedSetDP = new UnifiedSetDataProvider()) {
                        DataProviderGetRecords <UnifiedSetData> browseItems = await unifiedSetDP.GetItemsAsync(skip, take, sort, filters);

                        return new DataSourceResult {
                            Data = (from s in browseItems.Data select new BrowseItem(Module, s)).ToList <object>(),
                            Total = browseItems.Total
                        };
                    }
                },
            });
        }