public async Task <IActionResult> UpdateSettings([Bind("SiteName,RemovePhoto")] HawkBlogSettingsModel settings, ICollection <IFormFile> files) { if (ModelState.IsValid) { // write JSON directly to a file try { var uploads = Path.Combine(_environment.WebRootPath, "images/"); foreach (var file in files) { if (file.Length > 0) { using (var fileStream = new FileStream(Path.Combine(uploads, "logo" + Path.GetExtension(file.FileName)), FileMode.Create)) { await file.CopyToAsync(fileStream); settings.LogoPath = "/images/logo" + Path.GetExtension(file.FileName); } } } if (files.Count == 0) { settings.LogoPath = _settings.LogoPath; } if (settings.RemovePhoto) { settings.LogoPath = null; } JObject WebSettings = (JObject)JToken.FromObject(settings); using (StreamWriter file = System.IO.File.CreateText("Config/HawkBlogSettings.json")) using (JsonTextWriter writer = new JsonTextWriter(file)) { await WebSettings.WriteToAsync(writer); writer.Close(); file.Close(); } await Task.Delay(300); return(RedirectToAction(nameof(Index))); } catch (Exception e) { if (_environment.EnvironmentName == "Development") { ViewData["ErrorMessage"] = e.Message; } else { _logger.LogCritical(e.Message); ViewData["ErrorMessage"] = "An error has occured. Please check your input and try again"; } return(View("Settings", settings)); } } ViewData["ErrorMessage"] = "An error has occured. Please check your input and try again"; return(View("Settings", settings)); }
public IActionResult Settings() { HawkBlogSettingsModel settings = new HawkBlogSettingsModel { SiteName = ViewData["SiteName"].ToString(), LogoPath = ViewData["LogoPath"].ToString() }; return(View(settings)); }