public async Task <IActionResult> Login([FromForm] LoginRequest request) { var user = await _context.Users .Where(x => x.Email == request.Email.Trim()).FirstOrDefaultAsync(); if (user == null) { return(BadRequest(new { Message = "Tên đăng nhập hoặc mật khẩu không chính xác!" })); } if (user.TypeAccount != ETypeAccount.System) { return(BadRequest(new { Message = "Vui lòng đăng nhập với tài khoản " + user.TypeAccount.ToString() })); } if (user.PassWord != request.Password.Trim()) { return(BadRequest(new { Message = "Tên đăng nhập hoặc mật khẩu không chính xác!" })); } if (user.Status == EUserStatus.IsVerifying) { var info = new LoginInfo() { Email = user.Email, FullName = user.FullName, IsMailConfirmed = false, Message = MessageMail.VerifyMail, UserId = user.Id, UserName = user.UserName }; return(BadRequest(new { Message = MessageMail.VerifyMail })); } if (user.Status == EUserStatus.Inactive) { return(BadRequest(new { Message = "Tài khoản của bạn đã bị khóa bởi quản trị viên!" })); } if (!await _featureApplication.CheckUserFeature(user.Id)) { user.IsInfoUpdated = false; } var userResponse = new UserResponse(user, _storageService); var ft = await _featureApplication.GetFeatureResponseByUserId(userResponse.Id); userResponse.Features = ft.Item1; userResponse.SearchFeatures = ft.Item2; userResponse.Token = this.GenerateJSONWebToken(user); return(Ok(userResponse)); }
public async Task <IActionResult> Login([FromForm] LoginRequest request) { var user = await _context.Users .Where(x => x.Email == request.Email.Trim()).FirstOrDefaultAsync(); if (user == null) { return(BadRequest(new { Message = "UserName or Password is not correct!" })); } if (user.TypeAccount != ETypeAccount.System) { return(BadRequest(new { Message = "Please login with " + user.TypeAccount.ToString() })); } if (user.PassWord != request.Password.Trim()) { return(BadRequest(new { Message = "UserName or Password is not correct!" })); } if (user.Status == EUserStatus.IsVerifying) { var info = new LoginInfo() { Email = user.Email, FullName = user.FullName, IsMailConfirmed = false, Message = MessageMail.VerifyMail, UserId = user.Id, UserName = user.UserName }; return(BadRequest(new { Message = MessageMail.VerifyMail })); } if (user.Status == EUserStatus.Inactive) { return(BadRequest(new { Message = "Your account has been locked!" })); } if (!await _featureApplication.CheckUserFeature(user.Id)) { user.IsInfoUpdated = false; } var userResponse = new UserResponse(user, _storageService); var ft = await _featureApplication.GetFeatureResponseByUserId(userResponse.Id); userResponse.Features = ft.Item1; userResponse.SearchFeatures = ft.Item2; userResponse.Token = this.GenerateJSONWebToken(user); return(Ok(userResponse)); }