public static bool Insert(UserInfo paramObject) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var representativeId = paramObject.Representante; if (PrimaveraEngine.Engine.Comercial.Vendedores.Existe(representativeId) == false) { throw new NotFoundException("vendedor", false); } using (var sqlCommand = new SQLiteCommand(registerUser, PrimaveraEngine.getAuthenticationService())) { sqlCommand.Parameters.Add(new SQLiteParameter("username", paramObject.Username)); sqlCommand.Parameters.Add(new SQLiteParameter("password", paramObject.Password)); sqlCommand.Parameters.Add(new SQLiteParameter("representative", representativeId)); sqlCommand.ExecuteNonQuery(); } return(true); }
public static Representative Update(string sessionUsername, UserInfo userInfo) { if (PrimaveraEngine.InitializeCompany() == false) { throw new DatabaseConnectionException(); } var sqlQuery = new SqlBuilder() .FromTable(tableUsers) .Column(fieldPassword) .Where(fieldUsername, Comparison.Equals, sessionUsername); using (var queryResult = PrimaveraEngine.ConsultaSQLite(sqlQuery)) { int changedFields = 0; string queryPassword = "******"; if (queryResult.Read()) { var currentPassword = queryResult.GetString(queryResult.GetOrdinal(fieldPassword)); if (userInfo.Password.Equals(currentPassword)) { return(null); } if (userInfo.Password == null) { queryPassword += "password = :password"; changedFields++; } if (userInfo.Representante != null) { if (changedFields > 0) { queryPassword += " AND "; } queryPassword += "representative = :representative"; changedFields++; } if (changedFields < 1) { return(null); } queryPassword += "WHERE username = :username"; using (var sqlCommand = new SQLiteCommand(queryPassword, PrimaveraEngine.getAuthenticationService())) { sqlCommand.Parameters.Add(new SQLiteParameter(fieldUsername, sessionUsername)); if (userInfo.Password != null) { sqlCommand.Parameters.Add(new SQLiteParameter(fieldPassword, userInfo.Password)); } if (userInfo.Representante != null) { sqlCommand.Parameters.Add(new SQLiteParameter(fieldRepresentative, userInfo.Representante)); } sqlCommand.ExecuteNonQuery(); } } else { return(null); } } return(UserIntegration.View(userInfo.Representante)); }