| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using GreenTree.Nachtragsmanagement.Core.Authentication;
- using GreenTree.Nachtragsmanagement.Services.User;
- using GreenTree.Nachtragsmanagement.Web.Models.Global;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Mvc;
- namespace GreenTree.Nachtragsmanagement.Web.Controllers
- {
- public class GlobalController : Controller
- {
- private readonly IUserHelper _userHelper;
- private readonly IUserService _userService;
- public GlobalController(
- IUserHelper userHelper,
- IUserService userService)
- {
- _userHelper = userHelper;
- _userService = userService;
- }
- /// <summary>
- /// Represents the global Footer
- /// </summary>
- public ActionResult Footer()
- {
- var cookieUser = _userHelper.FromCookies();
- if (cookieUser == null)
- return View("~/Views/Shared/_Footer.cshtml", null);
- var dbUser = _userService.GetUserById(cookieUser.Id);
- if (dbUser == null)
- return View("~/Views/Shared/_Footer.cshtml", null);
- var footerModel = new FooterModel
- {
- CustomNumber = dbUser.CustomNumber,
- Forename = dbUser.Forename,
- Lastname = dbUser.Lastname,
- RoleDescription = dbUser.CurrentRole.Description
- };
- ViewData["Roles"] =
- dbUser.Roles
- .Select(r => new
- {
- r.Id,
- r.Description
- });
- return View("~/Views/Shared/_Footer.cshtml", footerModel);
- }
- /// <summary>
- /// Sets the current role of the logged in user and redirects to the home page
- /// </summary>
- /// <param name="roleId">The id of the new role.</param>
- public ActionResult SetRole(int roleId)
- {
- var user = _userHelper.FromCookies();
- var role = _userService.GetRoleById(roleId);
- user.CurrentRole = role;
- _userHelper.ToCookies(user);
- return RedirectToAction("Index", "Home");
- }
- /// <summary>
- /// Shows an unauthorized message
- /// </summary>
- public ActionResult NotAuthorized()
- {
- return View("~/Views/Global/NotAuthorized.cshtml");
- }
- }
- }
|