public Site SetupSite(SetupInput input, out ValidationStateDictionary validationState) { Site site = null; using (TransactionScope transaction = new TransactionScope()) { site = this.CreateSite(out validationState); if (!validationState.IsValid) { return(null); } UserInputAdd userInput = new UserInputAdd(input.AdminUserName, input.AdminDisplayName, input.AdminEmail, input.AdminPassword, input.AdminPasswordConfirm); ModelResult <User> results = this.SetupUser(userInput); if (!results.IsValid) { validationState = results.ValidationState; return(null); } transaction.Complete(); } return(site); }
public virtual object Modules(SetupInput input) { input.InitializeModules(config); ViewData["CurrentWizardPage"] = 4; return(new OxiteViewModelItem <SetupInput>(input)); }
/// <summary> /// Method called when form data needs to be bound to a SetupInput instance. /// </summary> /// <param name="controllerContext">ControllerContext containing the form data to be bound.</param> /// <param name="bindingContext">ModelBindingContext</param> /// <returns>SetupInput instance bound to the data in the ControllerContext.</returns> public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) { NameValueCollection form = controllerContext.HttpContext.Request.Form; Guid siteId = Guid.Empty; string contextSiteId = controllerContext.RouteData.Values["siteId"].ToString(); if (form.Get("siteId") != null) { siteId = new Guid(form.Get("siteId")); } else if (!string.IsNullOrEmpty(contextSiteId)) { siteId = new Guid(contextSiteId); } string siteDisplayName = form.Get("siteDisplayName"); string siteDescription = form.Get("siteDescription"); string adminUserName = form["adminUserName"]; string adminDisplayName = form["adminDisplayName"]; string adminEmail = form["adminEmail"]; string adminPassword = form["adminPassword"]; string adminPasswordConfirm = form["adminPasswordConfirm"]; string siteType = form["siteType"]; string storageType = form["storageType"]; bool commentingEnabled; bool.TryParse(form["blogCommentingEnabled"] != null ? form.GetValues("blogCommentingEnabled")[0] : "false", out commentingEnabled); SetupInput input = new SetupInput() { SiteID = siteId, AdminUserName = adminUserName, AdminDisplayName = adminDisplayName, AdminEmail = adminEmail, AdminPassword = adminPassword, AdminPasswordConfirm = adminPasswordConfirm, SiteDescription = siteDescription, SiteDisplayName = siteDisplayName }; if (!string.IsNullOrEmpty(siteType)) { input.SiteType = (SiteType)Enum.Parse(typeof(SiteType), siteType); } if (!string.IsNullOrEmpty(storageType)) { input.StorageType = (StorageType)Enum.Parse(typeof(StorageType), storageType); } return(input); }
public virtual object SiteType(SetupInput input) { Site site = this.siteService.GetSite(); if (site != null) { // throw new InvalidOperationException("A site has already been set up. Please contact the administrator to make changes."); } ViewData["CurrentWizardPage"] = 0; return(new OxiteViewModelItem <SetupInput>(input)); }
public virtual object SetupComplete(SetupInput input) { ValidationStateDictionary validationState; Site site = this.setupService.SetupSite(input, out validationState); if (!validationState.IsValid) { ModelState.AddModelErrors(validationState); return(this.Modules(input)); } ViewData["CurrentWizardPage"] = 5; return(new OxiteViewModelItem <Site>(site)); }
public virtual object BasicSettings(SetupInput input) { ViewData["CurrentWizardPage"] = 3; return(new OxiteViewModelItem <SetupInput>(input)); }
public virtual object AdminSettingsSave(SetupInput input) { ViewData["CurrentWizardPage"] = 2; return(new OxiteViewModelItem <SetupInput>(input)); }
public virtual object StorageSave(SetupInput input) { ViewData["CurrentWizardPage"] = 1; return(new OxiteViewModelItem <SetupInput>(input)); }