public async Task <IActionResult> Login(string username, string password)
        {
            Member member = service.AuthenticateUser(username, password);

            if (member != null)
            {
                List <Claim> claims = new List <Claim>()
                {
                    new Claim(ClaimTypes.Name, member.Username),
                    new Claim(ClaimTypes.Role, member.RoleName),
                    new Claim("UserId", member.Id.ToString()),
                    new Claim("FullName", member.FirstName + " " + member.LastName),
                    new Claim("FullNameReversed", member.LastName + ", " + member.FirstName)
                };

                ClaimsIdentity  identity  = new ClaimsIdentity(claims, "password");
                ClaimsPrincipal principal = new ClaimsPrincipal(identity);

                await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal);

                return(RedirectToAction("Index", "Home"));
            }

            ViewBag.Message = "Invalid Usename and/or Password";

            return(View());
        }