Exemple #1
0
        private void Execute(PersonCollection identifiers, Queue <DataGeneratorUI> queue, DataGeneratorUI current, Random r)
        {
            if (current == null)
            {
                return;
            }

            //tell form it is running
            Executing.Add(current);

            var dataGeneratorFactory = new DataGeneratorFactory();

            //reset the current generator to use the seed provided
            current.Generator = dataGeneratorFactory.Create(current.Generator.GetType(), r);


            current.BeginGeneration(identifiers, _extractDirectory);

            //when it is complete
            current.Completed += () =>
            {
                if (queue.Count != 0)
                {
                    Execute(identifiers, queue, queue.Dequeue(), r);
                }

                Executing.Remove(current);
                AnnounceIfComplete();
            };
        }
Exemple #2
0
        public GenerateTestDataUI(IActivateItems activator, ICommandExecution command) : base(activator)
        {
            InitializeComponent();

            var dataGeneratorFactory = new DataGeneratorFactory();

            int yLoc = 0;

            foreach (Type t in dataGeneratorFactory.GetAvailableGenerators())
            {
                var ui = new DataGeneratorUI();
                ui.Generator = dataGeneratorFactory.Create(t, new Random());
                ui.Location  = new Point(0, yLoc);
                yLoc        += ui.Height;
                pDatasets.Controls.Add(ui);
            }

            lblDirectory.Visible = false;

            EnableOrDisableGoButton();

            if (command != null)
            {
                BuildHelpWorkflow(command);
            }

            helpIcon1.SetHelpText("Tutorial", "Click for tutorial", HelpWorkflow);
        }
Exemple #3
0
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            var type = typeComboBox.SelectedItem;

            if (type.Equals("Ones"))
            {
                dataContainer.Data = DataGeneratorFactory.createData(DataGeneratorFactory.ListType.Ones);
            }

            if (type.Equals("Random"))
            {
                dataContainer.Data = DataGeneratorFactory.createData(DataGeneratorFactory.ListType.Random);
            }

            if (type.Equals("Polynomic"))
            {
                dataContainer.Data = DataGeneratorFactory.createData(DataGeneratorFactory.ListType.Polynomic);
            }

            dataChart.Series["Data"].Points.Clear();
            foreach (double element in dataContainer.Data)
            {
                dataChart.Series["Data"].Points.Add(element);
            }
        }
Exemple #4
0
 /// <summary>
 /// Build and return object without external data
 /// </summary>
 public T Create <T>(Dictionary <string, string> parameters = null) where T : class, IDataGeneratable, new()
 {
     if (parameters != null)
     {
         throw new ArgumentException("No parameters should be defined for default builder!\r\n" +
                                     "To generate entity with parameters use the custom builder.");
     }
     return(DataGeneratorFactory.Create <T>());
 }
Exemple #5
0
        protected DiscoveredTable CreateDataset <T>(DiscoveredDatabase db, PersonCollection people, int rows, Random r)
            where T : IDataGenerator
        {
            var f        = new DataGeneratorFactory();
            T   instance = f.Create <T>(r);

            var dt = instance.GetDataTable(people, rows);

            return(db.CreateTable(typeof(T).Name, dt, null, false, this));
        }
Exemple #6
0
        protected DiscoveredTable CreateDataset <T>(int people, int rows, Random r, out PersonCollection peopleGenerated) where T : IDataGenerator
        {
            var f        = new DataGeneratorFactory();
            T   instance = f.Create <T>(r);

            peopleGenerated = new PersonCollection();
            peopleGenerated.GeneratePeople(people, r);

            var dt = instance.GetDataTable(peopleGenerated, rows);

            return(DiscoveredDatabaseICanCreateRandomTablesIn.CreateTable(typeof(T).Name, dt, null, false, this));
        }
Exemple #7
0
        // ReSharper disable once UnusedParameter.Local
        static void Main(string[] args)
        {
            if (args.Length > 0)
            {
                MinimalConfig.Files.ForcedRoot = args[0];
            }

            var logger = new Logger();
            var files  = new MinimalConfig.Files();

            var dataGeneratorFactory = new DataGeneratorFactory(logger, files, ReflectionHelper.GetLoadedTypesThatAreAssignableTo(typeof(BaseTypeData))
                                                                .Except(new[] { typeof(BaseTypeData) })
                                                                .ToArray());

            dataGeneratorFactory.Process();

            logger.ToReportHtml();
        }
Exemple #8
0
        /// <summary>
        /// Generate the new instance of Settings according to params
        /// </summary>
        /// <param name="parameters">State: new(valid) or for update</param>
        public T Create <T>(Dictionary <string, string> parameters = null) where T : class, IDataGeneratable, new()
        {
            Helpers.CheckParameters(parameters, true);

            Post post = DataGeneratorFactory.Create <Post>();

            switch (parameters[ParamKeys.State].ToLower().Trim())
            {
            case ParamValues.EntityState.Valid:
                break;

            case ParamValues.EntityState.Invalid:
                post.Body   = null;
                post.Title  = null;
                post.UserId = null;
                break;

            default:
                throw new NotImplementedException($"No implementation for post state: {parameters[ParamKeys.State].ToUpper()}");
            }
            return(post as T);
        }
Exemple #9
0
        private DiscoveredTable Create <T>(DiscoveredDatabase db, PersonCollection people, Random r, ICheckNotifier notifier, int numberOfRecords, params string[] primaryKey) where T : IDataGenerator
        {
            string dataset = typeof(T).Name;

            notifier.OnCheckPerformed(new CheckEventArgs(string.Format("Generating {0} records for {1}", numberOfRecords, dataset), CheckResult.Success));

            var factory = new DataGeneratorFactory();

            //half a million biochemistry results
            var biochem = factory.Create(typeof(T), r);
            var dt      = biochem.GetDataTable(people, numberOfRecords);

            //prune "nulls"
            foreach (DataRow dr in dt.Rows)
            {
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    if (string.Equals(dr[i] as string, "NULL", StringComparison.CurrentCultureIgnoreCase))
                    {
                        dr[i] = DBNull.Value;
                    }
                }
            }


            notifier.OnCheckPerformed(new CheckEventArgs("Uploading " + dataset, CheckResult.Success));
            var tbl = db.CreateTable(dataset, dt, GetExplicitColumnDefinitions <T>());

            if (primaryKey.Length != 0)
            {
                notifier.OnCheckPerformed(new CheckEventArgs("Creating Primary Key " + dataset, CheckResult.Success));
                var cols = primaryKey.Select(s => tbl.DiscoverColumn(s)).ToArray();
                tbl.CreatePrimaryKey(5000, cols);
            }

            return(tbl);
        }