/// <summary> /// Used to create or update a 'partialview', 'partialviewmacro', 'script' or 'stylesheets' file /// </summary> /// <param name="display"></param> /// <returns>The updated CodeFileDisplay model</returns> public ActionResult <CodeFileDisplay> PostSave(CodeFileDisplay display) { if (display == null) { throw new ArgumentNullException(nameof(display)); } TryValidateModel(display); if (ModelState.IsValid == false) { return(ValidationProblem(ModelState)); } if (!display.IsConfigurationFile()) { return(NotFound()); } // if the file is the root web.config file, save a backup. var result = UpdateFile(display); if (result.Success) { return(result.Result); } display.AddErrorNotification( _localizedTextService.Localize("speechBubbles/configFileErrorHeader"), _localizedTextService.Localize("speechBubbles/configFileErrorText")); return(display); }
/// <summary> /// Used to create or update a 'partialview', 'partialviewmacro', 'script' or 'stylesheets' file /// </summary> /// <param name="display"></param> /// <returns>The updated CodeFileDisplay model</returns> public CodeFileDisplay PostSave(CodeFileDisplay display) { if (display == null) { throw new ArgumentNullException("display"); } if (ModelState.IsValid == false) { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState)); } switch (display.FileType) { case Core.Constants.Trees.PartialViews: var partialViewResult = CreateOrUpdatePartialView(display); if (partialViewResult.Success) { display = Mapper.Map(partialViewResult.Result, display); display.Path = Url.GetTreePathFromFilePath(partialViewResult.Result.Path); display.Id = System.Web.HttpUtility.UrlEncode(partialViewResult.Result.Path); return(display); } display.AddErrorNotification( Services.TextService.Localize("speechBubbles/partialViewErrorHeader"), Services.TextService.Localize("speechBubbles/partialViewErrorText")); break; case Core.Constants.Trees.PartialViewMacros: var partialViewMacroResult = CreateOrUpdatePartialViewMacro(display); if (partialViewMacroResult.Success) { display = Mapper.Map(partialViewMacroResult.Result, display); display.Path = Url.GetTreePathFromFilePath(partialViewMacroResult.Result.Path); display.Id = System.Web.HttpUtility.UrlEncode(partialViewMacroResult.Result.Path); return(display); } display.AddErrorNotification( Services.TextService.Localize("speechBubbles/partialViewErrorHeader"), Services.TextService.Localize("speechBubbles/partialViewErrorText")); break; case Core.Constants.Trees.Scripts: var scriptResult = CreateOrUpdateScript(display); display = Mapper.Map(scriptResult, display); display.Path = Url.GetTreePathFromFilePath(scriptResult.Path); display.Id = System.Web.HttpUtility.UrlEncode(scriptResult.Path); return(display); //display.AddErrorNotification( // Services.TextService.Localize("speechBubbles/partialViewErrorHeader"), // Services.TextService.Localize("speechBubbles/partialViewErrorText")); case Core.Constants.Trees.Stylesheets: var stylesheetResult = CreateOrUpdateStylesheet(display); display = Mapper.Map(stylesheetResult, display); display.Path = Url.GetTreePathFromFilePath(stylesheetResult.Path); display.Id = System.Web.HttpUtility.UrlEncode(stylesheetResult.Path); return(display); default: throw new HttpResponseException(HttpStatusCode.NotFound); } return(display); }
/// <summary> /// Used to create or update a 'partialview', 'partialviewmacro', 'script' or 'stylesheets' file /// </summary> /// <param name="display"></param> /// <returns>The updated CodeFileDisplay model</returns> public ActionResult <CodeFileDisplay> PostSave(CodeFileDisplay display) { if (display == null) { throw new ArgumentNullException("display"); } TryValidateModel(display); if (ModelState.IsValid == false) { return(ValidationProblem(ModelState)); } switch (display.FileType) { case Constants.Trees.PartialViews: Attempt <IPartialView?> partialViewResult = CreateOrUpdatePartialView(display); if (partialViewResult.Success) { display = _umbracoMapper.Map(partialViewResult.Result, display); display.Path = Url.GetTreePathFromFilePath(partialViewResult.Result?.Path); display.Id = HttpUtility.UrlEncode(partialViewResult.Result?.Path); return(display); } display.AddErrorNotification( _localizedTextService.Localize("speechBubbles", "partialViewErrorHeader"), _localizedTextService.Localize("speechBubbles", "partialViewErrorText")); break; case Constants.Trees.PartialViewMacros: Attempt <IPartialView?> partialViewMacroResult = CreateOrUpdatePartialViewMacro(display); if (partialViewMacroResult.Success) { display = _umbracoMapper.Map(partialViewMacroResult.Result, display); display.Path = Url.GetTreePathFromFilePath(partialViewMacroResult.Result?.Path); display.Id = HttpUtility.UrlEncode(partialViewMacroResult.Result?.Path); return(display); } display.AddErrorNotification( _localizedTextService.Localize("speechBubbles", "partialViewErrorHeader"), _localizedTextService.Localize("speechBubbles", "partialViewErrorText")); break; case Constants.Trees.Scripts: IScript?scriptResult = CreateOrUpdateScript(display); display = _umbracoMapper.Map(scriptResult, display); display.Path = Url.GetTreePathFromFilePath(scriptResult?.Path); display.Id = HttpUtility.UrlEncode(scriptResult?.Path); return(display); //display.AddErrorNotification( // _localizedTextService.Localize("speechBubbles/partialViewErrorHeader"), // _localizedTextService.Localize("speechBubbles/partialViewErrorText")); case Constants.Trees.Stylesheets: IStylesheet?stylesheetResult = CreateOrUpdateStylesheet(display); display = _umbracoMapper.Map(stylesheetResult, display); display.Path = Url.GetTreePathFromFilePath(stylesheetResult?.Path); display.Id = HttpUtility.UrlEncode(stylesheetResult?.Path); return(display); default: return(NotFound()); } return(display); }