Advertisement
social1986

Untitled

Oct 25th, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.64 KB | None | 0 0
  1.          protected IHttpResponse BadRequestError<T>(string viewName, string errorMessage, T model = null)
  2.             where T: class
  3.         {
  4.             var errorViewModel = new ErrorViewModel { Message = errorMessage };
  5.             var allContent = this.GetViewContent(viewName, model,  errorViewModel);
  6.             this.PrepareHtmlResult(allContent);
  7.             this.Response.StatusCode = HttpStatusCode.BadRequest;
  8.             return this.Response;
  9.         }
  10.  
  11.         protected IHttpResponse BadRequestError(string viewName, string errorMessage)
  12.            
  13.         {
  14.             var errorViewModel = new ErrorViewModel { Message = errorMessage };
  15.             var allContent = this.GetViewContent(viewName, errorViewModel);
  16.             this.PrepareHtmlResult(allContent);
  17.             this.Response.StatusCode = HttpStatusCode.BadRequest;
  18.             return this.Response;
  19.         }
  20.  
  21.         private string GetViewContent<T1>(string viewName, T1 model, ErrorViewModel errorViewModel = null)
  22.             where T1: class
  23.         {          
  24.             string errorContent = string.Empty;
  25.  
  26.             if (errorViewModel != null || model is ErrorViewModel)
  27.             {
  28.                 var errorHtml = this.GetFileContent(ERROR_VIEW_NAME);
  29.                 errorContent = this.ViewEngine.GetHtml(ERROR_VIEW_NAME, errorHtml, errorViewModel, this.User);
  30.             }
  31.  
  32.             var viewFileContent = this.GetFileContent(viewName);
  33.             var content = this.ViewEngine.GetHtml(viewName, viewFileContent, model, this.User);
  34.             content = string.Concat(errorContent, content);
  35.  
  36.             var layoutFileContent = this.GetFileContent(LAYOUT);
  37.             var allContent = layoutFileContent.Replace(BODY_PLACEHOLDER, content);
  38.             var layoutContent = this.ViewEngine.GetHtml(LAYOUT, allContent, model, this.User);
  39.             return layoutContent;
  40.         }
  41.  
  42.         private string GetFileContent(string viewName)
  43.         {
  44.             string fullPath = null;
  45.  
  46.             switch (viewName)
  47.             {
  48.                 case ERROR_VIEW_NAME:
  49.                     fullPath = $"{VIEWS_FOLDER_PATH}{ERROR_VIEW_PATH}{HTML_EXTENTION}";
  50.                     break;
  51.                 case LAYOUT:
  52.                     fullPath = $"{VIEWS_FOLDER_PATH}{LAYOUT}{HTML_EXTENTION}";
  53.                     break;
  54.                 default:
  55.                     var contentFolderName = this.GetType().Name.Replace(CONTROLLER_WORD, SLASH_SYMBOL);
  56.                     fullPath = $"{VIEWS_FOLDER_PATH}{contentFolderName}{viewName}{HTML_EXTENTION}";
  57.                     break;
  58.             }
  59.  
  60.             return System.IO.File.ReadAllText(fullPath);
  61.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement