public AdminFacade(DataReaderBuilder dataReaderBuilder, DataSaver saver, IHostingEnvironment env, CompetitionsService competitionsService) { this.externaldDataReaderBuilder = dataReaderBuilder; this.externalDataSaver = saver; this.env = env; this.competitionsService = competitionsService; }
private object BuildConvertedChild(IDataReader dataSource, Type childType, string prefix) { var builderMethod = DataReaderBuilder.GetType().GetMethod("Build"); var genericBuilderMethod = builderMethod.MakeGenericMethod(new[] { childType }); var child = genericBuilderMethod.Invoke(DataReaderBuilder, new object[] { dataSource, prefix, false }); var convertedChild = Convert.ChangeType(child, childType); return(convertedChild); }
public IEnumerable <TValue> BuildItems <TValue>(dynamic parameters, IDataReader dataSource) where TValue : class, new() { Guard.ThrowIfNull <string>("parameters", parameters); Guard.ThrowIfNull("dataSource", dataSource); var items = new List <TValue>(); while (dataSource.Read()) { items.Add(DataReaderBuilder.Build <TValue>(dataSource)); } return(items); }
public void Execute(DataRow Params) { specReader = SpecReaderBuilder.Build(Params); DataRow Spec = specReader.Spec; dataReader = DataReaderBuilder.Build(Spec, specReader.SpecDetails); procedure = ProcedureBuilder.Build(Spec); DataTable data = procedure.GenerateTable(); dataReader.FillTable(data); procedure.ExecuteFromTable(data); }
private void BuildParent <TParent>(IDataReader dataSource, IDictionary <object, TParent> parents, IEnumerable <TableObjectMapping> tableObjectMappings, PropertyInfo primaryKeyProperty) where TParent : class, new() { if (tableObjectMappings.IsNullOrEmpty()) { throw new InvalidOperationException("Cannot build objects. No table mappings found."); } var parent = DataReaderBuilder.Build <TParent>(dataSource, tableObjectMappings.First().Prefix, false); var parentKey = primaryKeyProperty.GetValue(parent); if (!parents.ContainsKey(parentKey)) { parents.Add(parentKey, parent); } BuildChildren(dataSource, tableObjectMappings.Skip(1), primaryKeyProperty, parents); }