Exemplo n.º 1
0
        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")));
            }
        }
Exemplo n.º 2
0
        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")));
        }