예제 #1
0
        private static void InsertMovies(SqliteConnection con)
        {
            IRandomizerDateTime randomizerDate = RandomizerFactory.GetRandomizer(new FieldOptionsDateTime {
                From = minDT, To = maxDT
            });

            using (SqliteTransaction transaction = con.BeginTransaction())
            {
                string lastWord       = "";
                string word1          = "";
                string word2          = "";
                var    randomizerWord = RandomizerFactory.GetRandomizer(new FieldOptionsTextWords {
                    Min = 1, Max = 1
                });
                SqliteCommand addCommand = con.CreateCommand();
                for (int i = 0; i <= 1000000; i++)
                {
                    do
                    {
                        word1 = randomizerWord.Generate();
                        word2 = randomizerWord.Generate();
                    } while (word1.Equals(lastWord));
                    lastWord = word1;
                    addCommand.CommandText =
                        $@"
                                INSERT INTO Elokuvat (nimi, julkaisupv) VALUES ('{word1} {word2}', '{randomizerDate.GenerateAsString()}')
                            ";
                    System.Console.WriteLine($@"{i}. INSERT INTO Elokuvat (nimi, julkaisupv) VALUES ('{word1} {word2}', '{randomizerDate.GenerateAsString()}')");
                    addCommand.ExecuteNonQuery();
                }
                transaction.Commit();
            }
        }
예제 #2
0
        private static void GetMoviesReleased(SqliteConnection con)
        {
            IRandomizerDateTime randomizerDate = RandomizerFactory.GetRandomizer(new FieldOptionsDateTime {
                From = minDT, To = maxDT
            });

            System.Console.WriteLine("Haetaan elokuvia satunnaisilta vuosilta...");
            int lastRandomYear = 0;

            for (int i = 0; i <= 1000; i++)
            {
                int randomYear;
                do
                {
                    DateTime randomDate = (DateTime)randomizerDate.Generate();
                    randomYear = randomDate.Year;
                } while (randomYear == lastRandomYear);
                SqliteCommand searchCommand = con.CreateCommand();
                searchCommand.CommandText =
                    $@"
                            SELECT COUNT(*)
                            FROM Elokuvat
                            WHERE julkaisupv BETWEEN '{randomYear}-01-01' AND '{randomYear}-12-31'
                        ";

                using (var reader = searchCommand.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        System.Console.WriteLine($"Julkaistujen elokuvien määrä vuonna {randomYear} on {reader.GetString(0)}");
                    }
                }
            }
        }
예제 #3
0
        public DataGenerator(IOptions <DataGeneratorSettings> options)
        {
            _settings = options.Value;

            _randomizerByte = RandomizerFactory.GetRandomizer(new FieldOptionsByte
            {
                Min = 0,
                Max = 9
            });
            _randomizerInteger = RandomizerFactory.GetRandomizer(new FieldOptionsInteger
            {
                Min = _settings.IntegerMin,
                Max = _settings.IntegerMax
            });
            _randomizerString = RandomizerFactory.GetRandomizer(new FieldOptionsText
            {
                Min        = _settings.StringMinLength,
                Max        = _settings.StringMaxLength,
                UseSpecial = false,
            });
            _randomizerDateTime = RandomizerFactory.GetRandomizer(new FieldOptionsDateTime
            {
                From        = _settings.DateTimeMin,
                To          = _settings.DateTimeMax,
                IncludeTime = false
            });
        }