Advertisement
Danny_Berova

BaseController

Jun 27th, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.34 KB | None | 0 0
  1. namespace KittenApp.Web.Controllers
  2. {
  3.     using System.Text;
  4.     using KittenApp.Data;
  5.     using SimpleMvc.Framework.Controllers;
  6.     using SimpleMvc.Framework.Interfaces;
  7.  
  8.     public abstract class BaseController : Controller
  9.     {
  10.         protected BaseController()
  11.         {
  12.             this.Context = new KittenAppContext();
  13.             this.Model.Data["show-error"] = "none";
  14.         }
  15.        
  16.         protected KittenAppContext Context { get; set; }
  17.  
  18.         protected IActionResult RedirectToHome() => this.RedirectToAction("/home/index");
  19.  
  20.         public override void OnAuthentication()
  21.         {
  22.             this.Model.Data["topMenu"] = this.User.IsAuthenticated ?
  23.                 @"<li class=""nav-item active"">
  24.                     <a class=""nav-link"" href=""/"">Home</a>
  25.                </li>
  26.                <li class=""nav-item active"">
  27.                     <a class=""nav-link"" href=""/kittens/all"">All Kittens</a>
  28.                </li>
  29.                <li class=""nav-item active"">
  30.                     <a class=""nav-link"" href=""/kittens/add"">Add Kitten</a>
  31.                </li>
  32.                <li class=""nav-item active"">
  33.                     <a class=""nav-link"" href=""/users/logout"">Logout</a>
  34.                </li>" :
  35.                 @"<li class=""nav-item active"">
  36.                     <a class=""nav-link"" href=""/"">Home</a>
  37.                </li>
  38.                <li class=""nav-item active"">
  39.                     <a class=""nav-link"" href=""/users/login"">Login</a>
  40.                </li>
  41.                <li class=""nav-item active"">
  42.                     <a class=""nav-link"" href=""/users/register"">Register</a>
  43.                </li>";
  44.  
  45.             base.OnAuthentication();
  46.         }
  47.  
  48.         protected void SetValidatorErrors()
  49.         {
  50.             var resultErrors = new StringBuilder();
  51.             var errors = this.ParameterValidator.ModelErrors;
  52.             foreach (var error in errors)
  53.             {
  54.                 resultErrors.AppendLine($"<p>{string.Join(" ", error.Value)}</p>");
  55.             }
  56.             this.Model.Data["show-error"] = "block";
  57.             this.Model.Data["error"] = resultErrors.ToString();
  58.         }
  59.  
  60.         protected void ShowError(string error)
  61.         {
  62.             this.Model.Data["show-error"] = "block";
  63.             this.Model.Data["error"] = error;
  64.         }
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement