public ActionResult Index(HomePageSettings homepagesettings) { if (ModelState.IsValid) { db = new StorehouseDBContext(); if (Request.Files["headerLogo"].ContentLength > 0) { FileInfo headerlogo = new FileInfo(Request.Files["headerLogo"].FileName); string webRootPath = Server.MapPath("~"); string headerlogoFilename = string.Concat(ConfigurationManager.AppSettings["UploadFilePath"], "Homepage/headerlogo", headerlogo.Extension); Request.Files["headerLogo"].SaveAs(Server.MapPath(headerlogoFilename)); homepagesettings.HeaderLogo = headerlogoFilename; } if (Request.Files["footerLogo"].ContentLength > 0) { FileInfo footerlogo = new FileInfo(Request.Files["footerLogo"].FileName); string webRootPath = Server.MapPath("~"); string footerlogoFilename = string.Concat(ConfigurationManager.AppSettings["UploadFilePath"], "Homepage/footerlogo", footerlogo.Extension); Request.Files["footerLogo"].SaveAs(Server.MapPath(footerlogoFilename)); homepagesettings.FooterLogo = footerlogoFilename; } db.Entry(homepagesettings).State = EntityState.Modified; db.SaveChanges(); } return(RedirectToAction("Index", "Home")); }
public IHttpActionResult GetHomePageSetting(string tenantId, string id) { HomePageSettings HomePageSetting = _repo.GetHomepageSettings(tenantId, id); if (HomePageSetting == null) { return(NotFound()); } return(Ok(HomePageSetting)); }
public IHttpActionResult PutContent(string id, HomePageSettings HomePageSetting) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (new Guid(id) != HomePageSetting.Id) { return(BadRequest()); } _repo.UpsertHomePageSettings(HomePageSetting); return(StatusCode(HttpStatusCode.NoContent)); }
public void UpsertHomePageSettings(HomePageSettings input) { try { if (input.Id == null) { input.Id = Guid.NewGuid(); db.HomePageSettings.Add(input); db.SaveChanges(); } else { db.Entry(input).State = EntityState.Modified; db.SaveChanges(); } } catch (Exception ex) { throw ex; } }
//[LoadSetting(IsRootedModel = true)] public ActionResult GeneralCommon(int storeScope, StoreInformationSettings storeInformationSettings, SeoSettings seoSettings, DateTimeSettings dateTimeSettings, SecuritySettings securitySettings, CaptchaSettings captchaSettings, PdfSettings pdfSettings, LocalizationSettings localizationSettings, CompanyInformationSettings companySettings, ContactDataSettings contactDataSettings, BankConnectionSettings bankConnectionSettings, SocialSettings socialSettings, HomePageSettings homePageSettings) { // TODO: (mh) (core) // Set page timeout to 5 minutes. //Server.ScriptTimeout = 300; var model = new GeneralCommonSettingsModel(); return(View(model)); }
public async Task <IActionResult> GeneralCommon( int storeScope, StoreInformationSettings storeInformationSettings, SeoSettings seoSettings, DateTimeSettings dateTimeSettings, SecuritySettings securitySettings, CaptchaSettings captchaSettings, PdfSettings pdfSettings, LocalizationSettings localizationSettings, CompanyInformationSettings companySettings, ContactDataSettings contactDataSettings, BankConnectionSettings bankConnectionSettings, SocialSettings socialSettings, HomePageSettings homePageSettings) { var model = new GeneralCommonSettingsModel(); // Map entities to model. MiniMapper.Map(storeInformationSettings, model.StoreInformationSettings); MiniMapper.Map(seoSettings, model.SeoSettings); MiniMapper.Map(dateTimeSettings, model.DateTimeSettings); MiniMapper.Map(securitySettings, model.SecuritySettings); MiniMapper.Map(captchaSettings, model.CaptchaSettings); MiniMapper.Map(pdfSettings, model.PdfSettings); MiniMapper.Map(localizationSettings, model.LocalizationSettings); MiniMapper.Map(companySettings, model.CompanyInformationSettings); MiniMapper.Map(contactDataSettings, model.ContactDataSettings); MiniMapper.Map(bankConnectionSettings, model.BankConnectionSettings); MiniMapper.Map(socialSettings, model.SocialSettings); MiniMapper.Map(homePageSettings, model.HomepageSettings); #region SEO custom mapping // Fix for Disallows & Allows joined with comma in MiniMapper (we need NewLine). model.SeoSettings.ExtraRobotsDisallows = seoSettings.ExtraRobotsDisallows != null?string.Join(Environment.NewLine, seoSettings.ExtraRobotsDisallows) : string.Empty; model.SeoSettings.ExtraRobotsAllows = seoSettings.ExtraRobotsAllows != null?string.Join(Environment.NewLine, seoSettings.ExtraRobotsAllows) : string.Empty; model.SeoSettings.MetaTitle = seoSettings.MetaTitle; model.SeoSettings.MetaDescription = seoSettings.MetaDescription; model.SeoSettings.MetaKeywords = seoSettings.MetaKeywords; AddLocales(model.SeoSettings.Locales, (locale, languageId) => { locale.MetaTitle = seoSettings.GetLocalizedSetting(x => x.MetaTitle, languageId, storeScope, false, false); locale.MetaDescription = seoSettings.GetLocalizedSetting(x => x.MetaDescription, languageId, storeScope, false, false); locale.MetaKeywords = seoSettings.GetLocalizedSetting(x => x.MetaKeywords, languageId, storeScope, false, false); }); model.HomepageSettings.MetaTitle = homePageSettings.MetaTitle; model.HomepageSettings.MetaDescription = homePageSettings.MetaDescription; model.HomepageSettings.MetaKeywords = homePageSettings.MetaKeywords; AddLocales(model.HomepageSettings.Locales, (locale, languageId) => { locale.MetaTitle = homePageSettings.GetLocalizedSetting(x => x.MetaTitle, languageId, storeScope, false, false); locale.MetaDescription = homePageSettings.GetLocalizedSetting(x => x.MetaDescription, languageId, storeScope, false, false); locale.MetaKeywords = homePageSettings.GetLocalizedSetting(x => x.MetaKeywords, languageId, storeScope, false, false); }); #endregion await PrepareConfigurationModelAsync(model); return(View(model)); }
public async Task <IActionResult> GeneralCommon( GeneralCommonSettingsModel model, int storeScope, StoreInformationSettings storeInformationSettings, SeoSettings seoSettings, DateTimeSettings dateTimeSettings, SecuritySettings securitySettings, CaptchaSettings captchaSettings, PdfSettings pdfSettings, LocalizationSettings localizationSettings, CompanyInformationSettings companySettings, ContactDataSettings contactDataSettings, BankConnectionSettings bankConnectionSettings, SocialSettings socialSettings, HomePageSettings homePageSeoSettings) { if (!ModelState.IsValid) { await PrepareConfigurationModelAsync(model); return(View(model)); } ModelState.Clear(); // Necessary before mapping var resetUserSeoCharacterTable = seoSettings.SeoNameCharConversion != model.SeoSettings.SeoNameCharConversion; var clearSeoFriendlyUrls = localizationSettings.SeoFriendlyUrlsForLanguagesEnabled != model.LocalizationSettings.SeoFriendlyUrlsForLanguagesEnabled; var prevPdfLogoId = pdfSettings.LogoPictureId; // Map model to entities MiniMapper.Map(model.StoreInformationSettings, storeInformationSettings); MiniMapper.Map(model.SeoSettings, seoSettings); MiniMapper.Map(model.DateTimeSettings, dateTimeSettings); MiniMapper.Map(model.SecuritySettings, securitySettings); MiniMapper.Map(model.CaptchaSettings, captchaSettings); MiniMapper.Map(model.PdfSettings, pdfSettings); MiniMapper.Map(model.LocalizationSettings, localizationSettings); MiniMapper.Map(model.CompanyInformationSettings, companySettings); MiniMapper.Map(model.ContactDataSettings, contactDataSettings); MiniMapper.Map(model.BankConnectionSettings, bankConnectionSettings); MiniMapper.Map(model.SocialSettings, socialSettings); MiniMapper.Map(model.HomepageSettings, homePageSeoSettings); #region POST mapping // Set CountryId explicitly else it can't be resetted. companySettings.CountryId = model.CompanyInformationSettings.CountryId ?? 0; //// (Un)track PDF logo id await _mediaTracker.Value.TrackAsync(pdfSettings, prevPdfLogoId, x => x.LogoPictureId); seoSettings.MetaTitle = model.SeoSettings.MetaTitle; seoSettings.MetaDescription = model.SeoSettings.MetaDescription; seoSettings.MetaKeywords = model.SeoSettings.MetaKeywords; foreach (var localized in model.SeoSettings.Locales) { await _localizedEntityService.ApplyLocalizedSettingAsync(seoSettings, x => x.MetaTitle, localized.MetaTitle, localized.LanguageId, storeScope); await _localizedEntityService.ApplyLocalizedSettingAsync(seoSettings, x => x.MetaDescription, localized.MetaDescription, localized.LanguageId, storeScope); await _localizedEntityService.ApplyLocalizedSettingAsync(seoSettings, x => x.MetaKeywords, localized.MetaKeywords, localized.LanguageId, storeScope); } homePageSeoSettings.MetaTitle = model.HomepageSettings.MetaTitle; homePageSeoSettings.MetaDescription = model.HomepageSettings.MetaDescription; homePageSeoSettings.MetaKeywords = model.HomepageSettings.MetaKeywords; foreach (var localized in model.HomepageSettings.Locales) { await _localizedEntityService.ApplyLocalizedSettingAsync(homePageSeoSettings, x => x.MetaTitle, localized.MetaTitle, localized.LanguageId, storeScope); await _localizedEntityService.ApplyLocalizedSettingAsync(homePageSeoSettings, x => x.MetaDescription, localized.MetaDescription, localized.LanguageId, storeScope); await _localizedEntityService.ApplyLocalizedSettingAsync(homePageSeoSettings, x => x.MetaKeywords, localized.MetaKeywords, localized.LanguageId, storeScope); } await _db.SaveChangesAsync(); if (resetUserSeoCharacterTable) { SeoHelper.ResetUserSeoCharacterTable(); } // TODO: (mh) (core) Do this right, if still needed. //if (clearSeoFriendlyUrls) //{ // LocalizedRoute.ClearSeoFriendlyUrlsCachedValue(); //} #endregion // Does not contain any store specific settings. await Services.SettingFactory.SaveSettingsAsync(securitySettings); return(NotifyAndRedirect("GeneralCommon")); }