public async Task <ActionResult> SiteProperties_Partial(SitePropertiesModel model) { SiteDefinition origSite; if (model.SiteHost == null) { origSite = Manager.CurrentSite; } else { origSite = await SiteDefinition.LoadSiteDefinitionAsync(model.SiteHost); } if (!ModelState.IsValid) { return(PartialView(model)); } ObjectSupport.CopyDataFromOriginal(origSite, model.Site); await model.Site.SaveAsync(); ObjectSupport.ModelDisposition modelDisp = ObjectSupport.EvaluateModelChanges(origSite, model.Site); switch (modelDisp) { default: case ObjectSupport.ModelDisposition.None: return(FormProcessed(model, this.__ResStr("okSaved", "Site settings updated"))); case ObjectSupport.ModelDisposition.PageReload: return(FormProcessed(model, this.__ResStr("okSaved", "Site settings updated"), OnClose: OnCloseEnum.ReloadPage, OnPopupClose: OnPopupCloseEnum.ReloadParentPage, ForceRedirect: true)); case ObjectSupport.ModelDisposition.SiteRestart: return(FormProcessed(model, this.__ResStr("okSavedRestart", "Site settings updated - These settings won't take effect until the site is restarted"))); } }
public async Task <ActionResult> ModuleEdit_Partial(ModuleEditModel model) { if (model.ModuleGuid == Guid.Empty) { throw new InternalError("No moduleGuid provided"); } // we need to find the real type of the module for data binding ModuleDefinition origModule = await ModuleDefinition.LoadAsync(model.ModuleGuid); await ObjectSupport.HandlePropertyAsync <List <PageDefinition> >(nameof(ModuleDefinition.Pages), nameof(ModuleDefinition.__GetPagesAsync), origModule); ModuleDefinition mod = (ModuleDefinition) await GetObjectFromModelAsync(origModule.GetType(), nameof(model.Module)); if (!ModelState.IsValid) { return(PartialView(model)); } mod.CustomValidation(ModelState, "Module."); if (!ModelState.IsValid) { return(PartialView(model)); } model.Module = mod; await model.UpdateDataAsync(); Manager.CurrentModuleEdited = model.Module; ObjectSupport.CopyData(origModule, model.Module, ReadOnly: true); // update read only properties in model in case there is an error ObjectSupport.CopyDataFromOriginal(origModule, model.Module); // copy/save model.Module.Temporary = false; await model.Module.SaveAsync(); return(FormProcessed(model, this.__ResStr("okSaved", "Module settings saved"))); }