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()); } }
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")); }
public async Task <IActionResult> Bans(BannViewModel vm) { if (TempData["Legit"] == null) { return(BackToHome()); } if (!(await userService.IsBannedAsync(vm.UserName))) { return(Unauthorized()); } return(View(vm)); }
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); }
private RedirectToActionResult Banned(BannViewModel vm) => RedirectToAction("Bans", "Auth", vm);