public async Task <ActionResult <IConnectRootResponse <IUser> > > GetUser([Required, EmailAddress, StringLength(200)] string email) { IConnectRootResponse <IUser> response = new ConnectRootResponse <IUser>(); try { this._cpLogger.LogInfo($">>[UsersController->GetUser][Email: {email}]: START."); response = await this._usersService.GetUser(email); this._cpLogger.LogInfo($">> [UsersController->GetUser][Email: {email}]: END, Response message: {response.Message}, code: {response.ResponseCode}"); if (response.Status.Equals(ConnectConstants.Failed)) { return(BadRequest(response)); } else { return(Ok(response)); } } catch (Exception ex) { response.Message = ConnectResponseCodes.CP001_MESSAGE; response.ResponseCode = ConnectResponseCodes.CP001; this._cpLogger.LogError($">> [UsersController->GetUser][Email: {email}]: Exception - {ex.Message}."); this._cpLogger.LogError($">> [UsersController->GetUser][Email: {email}]: END, Response message: {response.Message}, code: {response.ResponseCode}"); return(StatusCode(StatusCodes.Status500InternalServerError, response)); } }
public async Task <ActionResult <IConnectRootResponse <IResponseItem <IConnectGroupInfo> > > > GetGroupInfos() { IConnectRootResponse <IResponseItem <IConnectGroupInfo> > response = new ConnectRootResponse <IResponseItem <IConnectGroupInfo> >(); try { this._cpLogger.LogInfo($">>[GroupsController->GetGroupInfos] : START."); response = await this._connectGroupInfoService.GetGroupInfos(); this._cpLogger.LogInfo($">> [GroupsController->GetGroupInfos]: END, Response message: {response.Message}, code: {response.ResponseCode}"); if (response.Status.Equals(ConnectConstants.Failed)) { return(BadRequest(response)); } else { return(Ok(response)); } } catch (Exception ex) { response.Message = ConnectResponseCodes.CP001_MESSAGE; response.ResponseCode = ConnectResponseCodes.CP001; this._cpLogger.LogError($">> [GroupsController->GetGroupInfos]: Exception - {ex.Message}."); this._cpLogger.LogError($">> [GroupsController->GetGroupInfos]: END, Response message: {response.Message}, code: {response.ResponseCode}"); return(StatusCode(StatusCodes.Status500InternalServerError, response)); } }
public async Task <IConnectRootResponse <IConnectToken> > GetLogin(string email) { try { IConnectRootResponse <IConnectToken> response = new ConnectRootResponse <IConnectToken>(); IConnectToken resposeToken = new ConnectToken(); var userInfo = await this._connectDatabaseRepository.GetUserAsync(email); if (userInfo.Status.Equals(ConnectConstants.Success)) { var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(this._appSettings.ConnectJwt.ApiSecret); DateTime expiryTime = DateTime.UtcNow.AddSeconds(this._appSettings.ConnectJwt.AccessTokenLongExpireTime); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, userInfo.ResponseData.Name), new Claim(ClaimTypes.Email, userInfo.ResponseData.Email) }), Expires = expiryTime, SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); var tokenString = tokenHandler.WriteToken(token); this._cpLogger.LogInfo($"AccountService->GetLogin-> Success for the email:: {email}"); resposeToken.ExpiresIn = this._appSettings.ConnectJwt.AccessTokenLongExpireTime; resposeToken.TokenType = "bearer"; resposeToken.AccessToken = tokenString; response.Status = ConnectConstants.Success; response.Message = ConnectResponseCodes.CP026_MESSAGE; response.ResponseCode = ConnectResponseCodes.CP026; response.ResponseData = resposeToken; } else { response.Message = ConnectResponseCodes.CP029_MESSAGE; response.ResponseCode = ConnectResponseCodes.CP029; } return(response); } catch (Exception) { throw; } }
public async Task <ActionResult <IConnectRootResponse <IConnectToken> > > Login([FromBody] ConnectCredentials connectCredentials) { IConnectRootResponse <IConnectToken> response = new ConnectRootResponse <IConnectToken>(); try { this._cpLogger.LogInfo($">>[AccoutnsController->Login][{connectCredentials.Email}] : START."); response = await this._accountService.GetLogin(connectCredentials.Email); this._cpLogger.LogInfo($">> [AccoutnsController->Login][{connectCredentials.Email}]: END, Response message: {response.Message}, code: {response.ResponseCode}"); /* #region AddEmailClaim * // create a new user * var user = new ApplicationUser { UserName = connectCredentials.Email, Email = connectCredentials.Email }; * var result = await _userManager.CreateAsync(user); * * // add the email claim and value for this user * await _userManager.AddClaimAsync(user, new Claim(ClaimTypes.Email, connectCredentials.Email)); #endregion */ if (response.Status.Equals(ConnectConstants.Failed)) { return(BadRequest(response)); } else { return(Ok(response)); } } catch (Exception ex) { response.Message = ConnectResponseCodes.CP001_MESSAGE; response.ResponseCode = ConnectResponseCodes.CP001; this._cpLogger.LogError($">> [AccoutnsController->CreateUser][{connectCredentials.Email}]: Exception - {ex.Message}."); this._cpLogger.LogError($">> [AccoutnsController->CreateUser][{connectCredentials.Email}]: END, Response message: {response.Message}, code: {response.ResponseCode}"); return(StatusCode(StatusCodes.Status500InternalServerError, response)); } }
public async Task <IConnectRootResponse <IResponseItem <IUser> > > GetUsers() { try { IConnectRootResponse <IResponseItem <IUser> > response = new ConnectRootResponse <IResponseItem <IUser> >(); var dbResponse = await this._connectDatabaseRepository.GetAllUsersAsync(); if (dbResponse.Items?.Count > 0) { response.Status = ConnectConstants.Success; response.Message = ConnectResponseCodes.CP024_MESSAGE; response.ResponseCode = ConnectResponseCodes.CP024; response.ResponseData = dbResponse; } else { response.Message = ConnectResponseCodes.CP023_MESSAGE; response.ResponseCode = ConnectResponseCodes.CP023; } return(response); } catch (Exception) { throw; } }
public async Task <IConnectRootResponse <IUser> > GetUserAsync(string email) { IConnectRootResponse <IUser> response = new ConnectRootResponse <IUser>(); DbConnection connection = null; DbDataReader reader; IUser user = null; try { string commandText = @"SELECT * FROM USERS WHERE EMAIL=@EMAIL"; using var command = this.GetCommand(commandText, CommandType.Text); this.CreateParameter(command, "@EMAIL", email, DbType.String); (connection, reader) = await this.ExecuteReaderAsync(command); if (await reader.ReadAsync()) { user = new User { Id = DBNullExt.ToValue <string>(reader["Id"]), Name = DBNullExt.ToValue <string>(reader["NAME"]), FirstName = DBNullExt.ToValue <string>(reader["FIRSTNAME"]), lastName = DBNullExt.ToValue <string>(reader["LASTNAME"]), Email = DBNullExt.ToValue <string>(reader["EMAIL"]), CreateDate = DBNullExt.ToValue <DateTime>(reader["CREATEDATE"]), ModifyDate = DBNullExt.ToValue <DateTime>(reader["MODIFYDATE"]), LastSignInDate = DBNullExt.ToValue <DateTime>(reader["LASTSIGNINDATE"]), ConnectionId = DBNullExt.ToValue <string>(reader["CONNECTIONID"]), //Token = DBNullExt.ToValue<string>(reader["TOKEN"]), IsLive = DBNullExt.ToValue <int>(reader["ISLIVE"]), IsActive = DBNullExt.ToValue <int>(reader["ISACTIVE"]) }; } await reader.CloseAsync(); if (user != null) { response.Status = ConnectConstants.Success; response.Message = ConnectResponseCodes.CP024_MESSAGE; response.ResponseCode = ConnectResponseCodes.CP024; response.ResponseData = user; } else { response.Status = ConnectConstants.Failed; response.Message = ConnectResponseCodes.CP023_MESSAGE; response.ResponseCode = ConnectResponseCodes.CP023; } } catch (Exception ex) { throw new DatabaseException(ex.Message, ex); } finally { if (connection?.State == ConnectionState.Open) { await connection.CloseAsync(); } } return(response); }