public ActionResult Edit(StoreFront storeFront, bool?createDefaultConfig, int?themeId, bool?populateProducts, bool?populateDiscounts, bool?populatePages) { if ((storeFront.CurrentConfigOrAny() == null) && !(createDefaultConfig ?? false) && (populatePages ?? false)) { ModelState.AddModelError("createDefaultConfig", "You must select check the Create Default Configuration box when using Load Simple Sample Pages"); } if ((storeFront.CurrentConfigOrAny() == null) && !(createDefaultConfig ?? false) && (populateProducts ?? false)) { ModelState.AddModelError("createDefaultConfig", "You must select check the Create Default Configuration box when using Load Sample Products"); } if (ModelState.IsValid) { IGstoreDb db = GStoreDb; storeFront.UpdateAuditFields(CurrentUserProfileOrThrow); storeFront = db.StoreFronts.Update(storeFront); db.SaveChanges(); if (createDefaultConfig.HasValue && createDefaultConfig.Value) { ActionResult configResult = CreateConfig(storeFront.StoreFrontId, themeId); } if (storeFront.CurrentConfigOrAny() != null) { StoreFrontConfiguration config = storeFront.CurrentConfigOrAny(); if (!config.StoreFrontFoldersAllExist(Request.ApplicationPath, Server)) { config.CreateStoreFrontFolders(Request.ApplicationPath, Server); AddUserMessage("Store Front Folders Sync'd", "Store Front Folder sync'd or created for StoreFront '" + config.Name.ToHtml() + "' [" + storeFront.StoreFrontId + "] for client '" + storeFront.Client.Name.ToHtml() + "' [" + storeFront.ClientId + "]", UserMessageType.Success); } } AddUserMessage("Store Front Updated", "Store Front [" + storeFront.StoreFrontId + "] for client '" + storeFront.Client.Name.ToHtml() + "' [" + storeFront.ClientId + "] was updated successfully!", UserMessageType.Success); if (populateDiscounts ?? false) { db.CreateSeedDiscounts(storeFront); AddUserMessage("Populated Discounts", "Sample Discounts are Loaded", UserMessageType.Success); } if (populateProducts ?? false) { if (storeFront.CurrentConfigOrAny() == null) { AddUserMessage("Could not Populate Products", "Could not populate products. Store Front does not have an active configuration", UserMessageType.Danger); } else { db.CreateSeedProducts(storeFront.CurrentConfigOrAny()); AddUserMessage("Populated Products", "Sample Products, Bundles, and Categories are Loaded", UserMessageType.Success); } } if (populatePages ?? false) { if (storeFront.CurrentConfigOrAny() == null) { AddUserMessage("Could not Populate Pages", "Could not populate Pages. Store front does not have an active configuration", UserMessageType.Danger); } else { db.CreateSeedPages(storeFront.CurrentConfigOrAny()); AddUserMessage("Populated Pages", "Simple Pages with Menu Links are Loaded", UserMessageType.Success); } } return(RedirectToAction("Index")); } this.BreadCrumbsFunc = htmlHelper => this.StoreFrontBreadcrumb(htmlHelper, storeFront.ClientId, storeFront, false); return(View(storeFront)); }