Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected IHttpResponse BadRequestError<T>(string viewName, string errorMessage, T model = null)
- where T: class
- {
- var errorViewModel = new ErrorViewModel { Message = errorMessage };
- var allContent = this.GetViewContent(viewName, model, errorViewModel);
- this.PrepareHtmlResult(allContent);
- this.Response.StatusCode = HttpStatusCode.BadRequest;
- return this.Response;
- }
- protected IHttpResponse BadRequestError(string viewName, string errorMessage)
- {
- var errorViewModel = new ErrorViewModel { Message = errorMessage };
- var allContent = this.GetViewContent(viewName, errorViewModel);
- this.PrepareHtmlResult(allContent);
- this.Response.StatusCode = HttpStatusCode.BadRequest;
- return this.Response;
- }
- private string GetViewContent<T1>(string viewName, T1 model, ErrorViewModel errorViewModel = null)
- where T1: class
- {
- string errorContent = string.Empty;
- if (errorViewModel != null || model is ErrorViewModel)
- {
- var errorHtml = this.GetFileContent(ERROR_VIEW_NAME);
- errorContent = this.ViewEngine.GetHtml(ERROR_VIEW_NAME, errorHtml, errorViewModel, this.User);
- }
- var viewFileContent = this.GetFileContent(viewName);
- var content = this.ViewEngine.GetHtml(viewName, viewFileContent, model, this.User);
- content = string.Concat(errorContent, content);
- var layoutFileContent = this.GetFileContent(LAYOUT);
- var allContent = layoutFileContent.Replace(BODY_PLACEHOLDER, content);
- var layoutContent = this.ViewEngine.GetHtml(LAYOUT, allContent, model, this.User);
- return layoutContent;
- }
- private string GetFileContent(string viewName)
- {
- string fullPath = null;
- switch (viewName)
- {
- case ERROR_VIEW_NAME:
- fullPath = $"{VIEWS_FOLDER_PATH}{ERROR_VIEW_PATH}{HTML_EXTENTION}";
- break;
- case LAYOUT:
- fullPath = $"{VIEWS_FOLDER_PATH}{LAYOUT}{HTML_EXTENTION}";
- break;
- default:
- var contentFolderName = this.GetType().Name.Replace(CONTROLLER_WORD, SLASH_SYMBOL);
- fullPath = $"{VIEWS_FOLDER_PATH}{contentFolderName}{viewName}{HTML_EXTENTION}";
- break;
- }
- return System.IO.File.ReadAllText(fullPath);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement