public ResponseLoginInfo LoginWithoutRefeshToken(RequestLoginInfo requestLoginInfo) { var resLogin = new ResponseLoginInfo(); string token = string.Empty; try { var loginUser = _user.Find(u => u.UserName == requestLoginInfo.UserName && u.UserPassword == requestLoginInfo.Password).FirstOrDefault(); if (loginUser != null) { token = GenerateJSONWebTokenWithoutExpired(requestLoginInfo); if (!string.IsNullOrWhiteSpace(token)) { resLogin.UserName = loginUser.UserName; resLogin.UserFullName = loginUser.UserLastName + " " + loginUser.UserMiddleName + " " + loginUser.UserFirstName; resLogin.Role = loginUser.RoleName; resLogin.token = token; } } } catch (Exception ex) { _logger.LogError(ex, ex.Message); } return(resLogin); }
public ActionResult Login(RequestLoginInfo requestLoginInfo) { try { var resLogin = new ResponseLoginInfo(); resLogin = _authServices.LoginWithoutRefeshToken(requestLoginInfo); if (resLogin != null && resLogin.UserName != null) { var prevUserLogin = new UserLogin(); prevUserLogin = _userLoginServices.Get(requestLoginInfo.UserName); if (prevUserLogin == null || prevUserLogin.UserName == null) { var newUserLogin = new UserLogin { LoginId = "", UserName = requestLoginInfo.UserName, uuid = requestLoginInfo.uuid, ostype = requestLoginInfo.ostype, token = resLogin.token, registration_token = resLogin.registration_token }; var createdUser = _userLoginServices.Create(newUserLogin); if (createdUser != null) { return(Ok(new ResponseContext { code = (int)Common.ResponseCode.SUCCESS, message = Common.Message.LOGIN_SUCCESS, data = resLogin })); } else { return(StatusCode(StatusCodes.Status500InternalServerError, new ResponseMessage { status = "ERROR", message = "Cannot update user login information" })); } } else { var updateUserLogin = new UserLogin { LoginId = prevUserLogin.LoginId, UserName = requestLoginInfo.UserName, uuid = requestLoginInfo.uuid, ostype = requestLoginInfo.ostype, token = resLogin.token, registration_token = resLogin.registration_token }; var updateCount = _userLoginServices.Update(prevUserLogin.LoginId, updateUserLogin); if (updateCount >= 0) { return(Ok(new ResponseContext { code = (int)Common.ResponseCode.SUCCESS, message = Common.Message.LOGIN_SUCCESS, data = resLogin })); } else { return(StatusCode(StatusCodes.Status500InternalServerError, new ResponseMessage { status = "ERROR", message = "Cannot update user login information" })); } } } else { return(StatusCode(StatusCodes.Status401Unauthorized, new ResponseContext { code = (int)Common.ResponseCode.ERROR, message = Common.Message.INCORRECT_USERNAME_PASSWORD, data = null })); } } catch (System.Exception ex) { _logger.LogError(ex, ex.Message); return(StatusCode(StatusCodes.Status500InternalServerError, new ResponseMessage { status = "ERROR", message = ex.Message })); } }