Ejemplo n.º 1
0
        public async Task <IActionResult> Login(LoginViewModel vm)
        {
            if (!this.ModelState.IsValid)
            {
                return(BackToHome());
            }

            try
            {
                if (await userService.IsBannedAsync(vm.LoginUsername) == true)
                {
                    var member = await userService.FindUserDTOAsync(vm.LoginUsername);

                    var memberVm = new BannViewModel()
                    {
                        UserName   = member.UserName,
                        Reason     = member.BannReason,
                        EnDateTime = member.BannEndTime
                    };
                    this.TempData["Legit"] = true;
                    return(Banned(memberVm));
                }
                var user = await this.userService.LoginAsync(vm.LoginUsername, vm.LoginPassword);
                await SignInUser(user, vm.RememberLogin);

                return(BackToHome());
            }
            catch (Exception ex)
            {
                this.TempData["Status"] = ex.Message;
                return(BackToHome());
            }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Ban(BannViewModel vm)
        {
            if (!this.ModelState.IsValid)
            {
                throw new Exception();
            }
            var userDTO = await userService.FindUserDTOAsync(vm.UserName);

            await this.userService.BanAsync(vm.Reason, userDTO);

            return(RedirectToAction("Index", "User", "Users"));
        }
Ejemplo n.º 3
0
 public async Task <IActionResult> Bans(BannViewModel vm)
 {
     if (TempData["Legit"] == null)
     {
         return(BackToHome());
     }
     if (!(await userService.IsBannedAsync(vm.UserName)))
     {
         return(Unauthorized());
     }
     return(View(vm));
 }
Ejemplo n.º 4
0
        public static BannViewModel MapToBanViewModel(this UserDTO member)
        {
            var vm = new BannViewModel
            {
                UserName = member.UserName,
                RoleName = member.RoleName
            };

            if (member.BannId != null)
            {
                vm.Reason     = member.BannReason;
                vm.EnDateTime = member.BannEndTime;
            }
            return(vm);
        }
Ejemplo n.º 5
0
 private RedirectToActionResult Banned(BannViewModel vm)
 => RedirectToAction("Bans", "Auth", vm);