Exemplo n.º 1
0
 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);
        }
Exemplo n.º 4
0
        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);
        }