public (UserRole userRole, string sessionToken, DateTime authorizationFinish) AuthorizationUser(AuthorizationRequest authorizationData) { string hash = _passwordHash.GeneratePasswordHash(authorizationData.Login, authorizationData.Password); var userSystem = _dbContext.UsersSystem.GetUserByLoginPasswordhash(authorizationData.Login, hash); var sessionToken = _sessionTokenGenerator.GenerateSessionToken(authorizationData.Login); UserAuthorizationToken userToken = new UserAuthorizationToken(DateTime.Now, DateTime.Now.Add(_timeKeyWork), sessionToken, new AuthorizationStatus(AuthorizationStatus.AuthorizationStatusEnum.Active), // ReSharper disable once PossibleInvalidOperationException userSystem.IdEntity.Value); var cancelResult = CancelOldSessionToken(userSystem.IdEntity.Value); if (!cancelResult) { return(null, null, DateTime.Now); } var tokenInserResult = _dbContext.UserAuthorizationsToken.Insert(userToken); if (!tokenInserResult.HasValue) { return(null, null, DateTime.Now); } return(userSystem.UserAdmittance.UserRole, sessionToken, DateTime.Now + _timeKeyWork); }
private List <UserAuthorizationToken> ReadUserAuthorizations(string storedProcedureName, params SqlParameter[] sqlParameters) { var userAuthorizations = new List <UserAuthorizationToken>(); using (SqlConnection connection = new SqlConnection(_connectionString)) { connection.Open(); SqlCommand command = new SqlCommand(storedProcedureName, connection) { CommandType = System.Data.CommandType.StoredProcedure }; foreach (SqlParameter sqlParameter in sqlParameters) { command.Parameters.Add(sqlParameter); } SqlDataReader reader = command.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { int readId = reader.GetInt32(0); DateTime readDateStart = reader.GetDateTime(1); DateTime readDateFinish = reader.GetDateTime(2); string readToken = reader.GetString(3); string readStatus = reader.GetString(4); int readUserId = reader.GetInt32(5); UserSystem user = _repositorySystemRepository.SelectById(readUserId); UserAuthorizationToken userAuthorization = new UserAuthorizationToken(readId, readDateStart, readDateFinish, readToken, readStatus, user); userAuthorizations.Add(userAuthorization); } } } return(userAuthorizations); }
public bool Update(UserAuthorizationToken item) { if (!item.IdEntity.HasValue) { throw new ArgumentException($"Parameter {nameof(item.IdEntity)} must be not empty", nameof(item.IdEntity)); } var idParam = new SqlParameter { ParameterName = "@IdEntity", Value = item.IdEntity.Value }; var startParam = new SqlParameter { ParameterName = "@StartSession", Value = item.StartSession }; var finishParam = new SqlParameter { ParameterName = "@FinishSession", Value = item.FinishSession }; var tokenParam = new SqlParameter { ParameterName = "@UserToken", Value = item.UserToken }; var statusParam = new SqlParameter { ParameterName = "@Status", Value = item.AuthorizationStatus.GetStatusName() }; var userIdParam = new SqlParameter { ParameterName = "@UserId", Value = item.UserId }; var resultCommand = ExecuteCommand(SpUpdate, idParam, startParam, finishParam, tokenParam, statusParam, userIdParam); return(resultCommand != null && (int)resultCommand == 1); }
public int?Insert(UserAuthorizationToken item) { var startParam = new SqlParameter { ParameterName = "@StartSession", Value = item.StartSession }; var finishParam = new SqlParameter { ParameterName = "@FinishSession", Value = item.FinishSession }; var tokenParam = new SqlParameter { ParameterName = "@UserToken", Value = item.UserToken }; var statusParam = new SqlParameter { ParameterName = "@Status", Value = item.AuthorizationStatus.GetStatusName() }; var userIdParam = new SqlParameter { ParameterName = "@UserId", Value = item.UserId }; object resultCommand = ExecuteCommand(SpInsert, startParam, finishParam, tokenParam, statusParam, userIdParam); int?result = null; if (resultCommand != null) { decimal lastId = (decimal)resultCommand; result = Decimal.ToInt32(lastId); } return(result); }
public bool Update(UserAuthorizationToken item) { return(_userAuthorizationTokenRepositor.Update(item)); }
public int?Insert(UserAuthorizationToken item) { return(_userAuthorizationTokenRepositor.Insert(item)); }