public IActionResult Login([FromBody] LoginModel login) { ResponseModel rm = new ResponseModel(); var users = authService.GetUsers(login); if (users != null && users.Any()) { users = users.Where(s => s.Password.ToString().Equals(login.Password.Encrypt())); var customerAccount = customerAccountService.GetAccountByCustomer(users.FirstOrDefault().Id); var accountBalance = transactionService.GetAccountBalance(users.FirstOrDefault().Id, customerAccount.Id); if (users.Any()) { if (users.Count() == 1) { var tokenString = GenerateJSONWebToken(users.FirstOrDefault(), customerAccount); rm.Notification = ApUtility.CreateNotification("Loggedin Successfully.", Enums.NotificationType.Success); rm.Data = new { Token = tokenString, IsLogin = true, User = users.Select(o => new { o.Email, UserName = o.FirstName, o.LastName }).FirstOrDefault(), AccountBalance = accountBalance }; return(Ok(rm)); } else { rm.Notification = ApUtility.CreateNotification("Loggedin Successfully.", Enums.NotificationType.Success); rm.Data = new { IsLogin = true, Options = users.Select(o => new { Id = o.Id, Email = o.Email, Name = o.PersonalCode }) }; return(Ok(rm)); } } else { rm.Notification = ApUtility.CreateNotification("Invalid username or password or your account is inactive", Enums.NotificationType.Error); return(BadRequest(rm)); } } else { rm.Notification = ApUtility.CreateNotification("User Information Not Available.", Enums.NotificationType.Error); return(BadRequest(rm)); } }