public IMCollection <DbRow> ExecuteNativeQuery(string query, Action <DbCommand, Func <string, DbType, DbParameter> > parametersConfiguration, int commandTimeout = 30) { return(ExecuteOnSafeSqlCommand(query, command => { parametersConfiguration(command, NewParameter); IMCollection <DbRow> dbRows = new MCollection <DbRow>(); command.CommandTimeout = commandTimeout; var reader = command.ExecuteReader(); while (reader.Read()) { DbRow row = new DbRow(); for (int ii = 0; ii <= reader.FieldCount - 1; ii++) { DbColumn column = new DbColumn(reader.GetFieldType(ii), reader.GetName(ii), reader.GetValue(ii)); row.Columns.Add(column); } dbRows.Add(row); } reader.Close(); return dbRows; })); }
public IMCollection <ITestSuite> GetAllTestSuites(string moduleToTest) { IMCollection <ITestSuite> suites = new MCollection <ITestSuite>(); GetDerivedTypes(typeof(TestSuite), Assembly.Load(moduleToTest)) .ForEach(type => { suites.Add((TestSuite)Activator.CreateInstance(type)); }); return(suites); }
public IMCollection <Group> Insert(IMCollection <Group> groups) { IMCollection <Group> insertedPermissions = new MCollection <Group>(); groups.ForEach(group => { int groupId = Insert(group); insertedPermissions.Add(new Group() { Id = groupId, Description = group.Description, Permissions = group.Permissions }); }); return(insertedPermissions); }
public IMCollection <Permission> Insert(IMCollection <Permission> permissions) { IMCollection <Permission> insertedPermissions = new MCollection <Permission>(); permissions.ForEach(permission => { int permissionId = Insert(permission); insertedPermissions.Add(new Permission { Id = permissionId, Description = permission.Description }); }); return(insertedPermissions); }
public IMCollection <ITestSuite> GetTestsByConfiguration() { IMCollection <ITestSuite> suites = new MCollection <ITestSuite>(); _configuration.ForEach(suiteName => { try { Type type = Type.GetType(suiteName); suites.Add((ITestSuite)Activator.CreateInstance(type)); } catch { _logger.Error("TestSuite [" + suiteName + "] Not found"); } }); return(suites); }
private IMCollection <Type> GetDerivedTypes(Type baseType, Assembly assembly) { // Get all types from the given assembly Type[] types = assembly.GetTypes(); IMCollection <Type> derivedTypes = new MCollection <Type>(); for (int i = 0, count = types.Length; i < count; i++) { Type type = types[i]; if (IsSubclassOf(type, baseType)) { // The current type is derived from the base type, // so add it to the list derivedTypes.Add(type); } } return(derivedTypes); }
public IMCollection <TEntity> Transform() { IMCollection <TEntity> resultObjects = new MCollection <TEntity>(); _dbRows.ForEach(row => { TEntity entity = new TEntity(); row.Columns.ForEach(column => { string columnName = column.Name?.ToLower(); if (column.Value == DBNull.Value) { return; } if (Predefined.Like(columnName, "%_id")) { //Getting relationship instance PropertyInfo entityRelationshipInfo = GetPrivatePropertyInfo(typeof(TEntity), columnName?.Split("_id")[0]); object entityRelationshipInstance = entityRelationshipInfo.GetValue(entity); //Setting up relationship id PropertyInfo entityRelationshipIdInfo = GetPrivatePropertyInfo(entityRelationshipInstance.GetType(), "id"); entityRelationshipIdInfo?.SetValue(entityRelationshipInstance, Convert.ChangeType(column.Value, column.Type)); } else { columnName = columnName?.Replace("_", ""); PropertyInfo propertyInfo = GetPrivatePropertyInfo(typeof(TEntity), columnName); propertyInfo?.SetValue(entity, Convert.ChangeType(column.Value, column.Type)); } }); resultObjects.Add(entity); }); return(resultObjects); }