public IActionResult Login(LoginViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = _accountService.Login(model.Username, model.Password);
                var ban  = _banService.GetBanByUsername(model.Username);

                if (user == null)
                {
                    TempData["Message"]      = "Giriş yapılamadı. Lütfen kullanıcı adınızı ve şifrenizi kontrol ediniz.";
                    TempData["MessageState"] = "danger";

                    return(RedirectToAction("Login", "Account"));
                }

                else if (!user.IsEmailConfirm)
                {
                    TempData["Message"]      = "Giriş yapabilmek için önce emailinizi doğrulamalısınız !";
                    TempData["MessageState"] = "warning";

                    return(RedirectToAction("EmailValidation", "Account", new { username = user.UserName, email = user.Email }));
                }

                else if (ban != null)
                {
                    TempData["Message"]      = "Ban listesine alındınız giriş yapamazsınız !";
                    TempData["MessageState"] = "danger";

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

                var identity = new ClaimsIdentity(new[]
                {
                    new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
                    new Claim(ClaimTypes.Name, user.UserName),
                    new Claim(ClaimTypes.Email, user.Email),
                    new Claim(ClaimTypes.Role, user.Role.Name)
                },
                                                  CookieAuthenticationDefaults.AuthenticationScheme);

                var principal = new ClaimsPrincipal(identity);

                HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, principal);

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

            TempData["Message"]      = "Giriş yapılamadı !";
            TempData["MessageState"] = "danger";

            return(RedirectToAction("Login", "Account"));
        }