Beispiel #1
0
        static model.PersonAddress MergePersonAddress(model.Person person, model.Address address, DateTime date)
        {
            Logger.generatorMergePA();
            try
            {
                var personAddress = new model.PersonAddress();

                if (address.City != null)
                {
                    personAddress.Person  = person;
                    personAddress.Address = address;

                    if (RandomNumber.Draw(1, 10) < 8)
                    {
                        personAddress.Assigned = person.BirthDate;
                    }
                    else
                    {
                        personAddress.Assigned = Date.getDate(person.BirthDate);
                    }
                }

                return(personAddress);
            }
            catch (Exception e)
            {
                Logger.log(e);
                return(null);
            }
        }
Beispiel #2
0
        public static string getPhoneNumber()
        {
            Logger.telephoneStart();
            try
            {
                StringBuilder number = new StringBuilder();
                int           nr     = 0;

                if (RandomNumber.Draw(1, 10) < 9)
                {
                    number.Append("0048");
                }
                else
                {
                    string code = code9[RandomNumber.Draw(0, code9.Length - 1)];
                    for (int i = 0; i < 4 - code.Length; i++)
                    {
                        number.Append("0");
                    }
                    number.Append(code);
                }

                nr  = _numberWST[RandomNumber.Draw(0, _numberWST.Length - 1)];
                nr += RandomNumber.Draw(0, _endPointNumber);

                return(number.Append(nr.ToString()).ToString());
            }
            catch (Exception e)
            {
                Logger.log(e);
                return(null);
            }
        }
Beispiel #3
0
        private static string _drawN()
        {
            int start = (int)Math.Pow(10, RandomNumber.Draw(0, 7));
            int end   = start * 10;

            return(RandomNumber.Draw(start, end).ToString());
        }
Beispiel #4
0
        public static string getMail(string firstName, string lastName)
        {
            Logger.emailStart();

            try
            {
                var name = new string[] { _removeDiacritics(firstName), _removeDiacritics(lastName) };
                switch ((int)RandomNumber.Draw(1, 4))
                {
                case 1:
                    return(_classicEmail(name[0], name[1]));

                case 2:
                    return(_firstLetterEmail(name[0], name[1]));

                case 3:
                    return(_nameEmail(name[0], name[1]));

                case 4:
                    return(_differentEmail(name[0], name[1]));
                }
            }
            catch (Exception e)
            {
                Logger.log(e);
            }
            return(null);
        }
Beispiel #5
0
        static int generateMonth(DateTime date)
        {
            try
            {
                Logger.dateMonthStart();
                if (_year == DateTime.Now.Year && _year == date.Year)
                {
                    return(RandomNumber.Draw(date.Month, DateTime.Now.Month));
                }
                if (_year == DateTime.Now.Year)
                {
                    return(RandomNumber.Draw(1, DateTime.Now.Month));
                }
                if (_year == date.Year)
                {
                    return(RandomNumber.Draw(date.Month, 12));
                }

                return(RandomNumber.Draw(1, 12));
            }
            catch (Exception e)
            {
                Logger.log(e);
                return(generateMonth(date));
            }
        }
Beispiel #6
0
        public static char[] getPesel()
        {
            int[]    Pesel     = new int[11];
            DateTime birthDate = BirthDate.getBirthDate();
            char     sex       = Sex.getSex();

            Pesel[0] = birthDate.Year % 100 / 10;
            Pesel[1] = birthDate.Year % 10;

            if (birthDate.Year / 1000 == 1)
            {
                if ((birthDate.Year % 1000) / 100 == 8)
                {
                    Pesel[2] = (birthDate.Month + 80) / 10;
                    Pesel[3] = birthDate.Month % 10;
                }
                else
                {
                    Pesel[2] = birthDate.Month / 10;
                    Pesel[3] = birthDate.Month % 10;
                }
            }
            else
            {
                if ((birthDate.Year % 1000) / 100 == 0)
                {
                    Pesel[2] = (birthDate.Month + 20) / 10;
                    Pesel[3] = birthDate.Month % 10;
                }
                else
                {
                    Pesel[2] = (birthDate.Month + 40) / 10;
                    Pesel[3] = birthDate.Month % 10;
                }
            }

            Pesel[4] = birthDate.Day / 10;
            Pesel[5] = birthDate.Day % 10;

            Pesel[6] = RandomNumber.Draw(0, 9);
            Pesel[7] = RandomNumber.Draw(0, 9);
            Pesel[8] = RandomNumber.Draw(0, 9);

            if (sex == 'm')
            {
                Pesel[9] = RandomNumber.Draw(0, 4) * 2 + 1;
            }
            else
            {
                Pesel[9] = RandomNumber.Draw(0, 4) * 2;
            }

            Pesel[10] = (10 - (Pesel[0] + 3 * Pesel[1] + 7 * Pesel[2] + 9 * Pesel[3] + Pesel[4] + 3 * Pesel[5] + 7 * Pesel[6] + 9 * Pesel[7] + Pesel[8] + 3 * Pesel[9]) % 10) % 10;

            string s = string.Join("", Pesel);

            return(s.ToCharArray());
        }
Beispiel #7
0
 private static bool _draw()
 {
     if (RandomNumber.Draw(0, 1) == 1)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Beispiel #8
0
 static string GetNumber()
 {
     if (RandomNumber.Draw(1, 10) < 9)
     {
         return(RandomNumber.Draw(1, 20).ToString());
     }
     else
     {
         return(RandomNumber.Draw(21, 40).ToString());
     }
 }
Beispiel #9
0
        static int generateDay(DateTime date)
        {
            try
            {
                Logger.dateDayStart();
                if (_year == DateTime.Now.Year && _month == DateTime.Now.Month && _year == date.Year &&
                    _month == date.Month)
                {
                    return(RandomNumber.Draw(date.Day, DateTime.Now.Day));
                }
                if (_year == DateTime.Now.Year && _month == DateTime.Now.Month)
                {
                    return(RandomNumber.Draw(1, DateTime.Now.Day));
                }
                if ((_year == date.Year && _month == date.Month) && (_month == 1 || _month == 3 || _month == 5 ||
                                                                     _month == 7 || _month == 8 || _month == 10 ||
                                                                     _month == 12))
                {
                    return(RandomNumber.Draw(date.Day, 31));
                }
                if ((_year == date.Year && _month == date.Month) &&
                    (_month == 2 && (_year % 4 == 0 && _year % 100 != 0)))
                {
                    return(RandomNumber.Draw(date.Day, 29));
                }
                if (_year == date.Year && _month == date.Month && _month == 2)
                {
                    return(RandomNumber.Draw(date.Day, 28));
                }


                if (_month == 1 || _month == 3 || _month == 5 || _month == 7 || _month == 8 || _month == 10 ||
                    _month == 12)
                {
                    return(RandomNumber.Draw(1, 31));
                }
                if (_month == 2 && (_year % 4 == 0 && _year % 100 != 0))
                {
                    return(RandomNumber.Draw(1, 29));
                }
                if (_month == 2)
                {
                    return(RandomNumber.Draw(1, 28));
                }

                return(RandomNumber.Draw(1, 30));
            }
            catch (Exception e)
            {
                Logger.log(e);
                return(generateDay(date));
            }
        }
Beispiel #10
0
 static int generateYear(int year)
 {
     try
     {
         Logger.dateYearStart();
         return(RandomNumber.Draw(year, System.DateTime.Now.Year));
     }
     catch (Exception e)
     {
         Logger.log(e);
         return(generateYear(year));
     }
 }
Beispiel #11
0
        public static DateTime getBirthDate()
        {
            try
            {
                Logger.birthDateStart();
                DateTime now = DateTime.Now;

                if (RandomNumber.Draw(1, 10) != 3)
                {
                    return(Date.getDate(new DateTime(now.Year - 70, now.Month, now.Day)));
                }
                return(Date.getDate(new DateTime(now.Year - 200, now.Month, now.Day)));
            }
            catch (Exception e)
            {
                Logger.log(e);
                return(getBirthDate());
            }
        }
Beispiel #12
0
 public static char getSex()
 {
     try
     {
         Logger.sexStart();
         if (RandomNumber.Draw(0, 1) == 0)
         {
             return('m');
         }
         else
         {
             return('f');
         }
     }
     catch (Exception e)
     {
         Logger.log(e);
         return(getSex());
     }
 }
Beispiel #13
0
 public static DateTime getDeathDate(DateTime initDate)
 {
     try
     {
         Logger.dateStart();
         _year = generateYear(initDate.Year);
         if (initDate.Year < DateTime.Now.Year - 115)
         {
             _year = (RandomNumber.Draw(initDate.Year, initDate.Year + 115));
         }
         _month = generateMonth(initDate);
         _day   = generateDay(initDate);
         return(new DateTime(_year, _month, _day));
     }
     catch (Exception e)
     {
         Logger.log(e);
         return(getDate(initDate));
     }
 }
Beispiel #14
0
 static model.Contact SetContact(string firstName, string lastName)
 {
     Logger.generatorSetContact();
     try
     {
         var contact = new model.Contact
         {
             Email = Email.getMail(firstName, lastName)//"*****@*****.**"
         };
         if (RandomNumber.Draw(1, 3) < 3)
         {
             contact.PhoneNumber = Telephone.getPhoneNumber(); //"0048721686274";
         }
         return(contact);
     }
     catch (Exception e)
     {
         Logger.log(e);
         return(null);
     }
 }
Beispiel #15
0
 public Person()
 {
     Logger.personStart();
     Sex       = GeneratorsClass.Sex.getSex();
     BirthDate = GeneratorsClass.BirthDate.getBirthDate();
     Pesel     = new String(GeneratorsClass.Pesel.getPesel(BirthDate, Sex));
     SetName(GetDataFromJson.getClearPerson(Sex));
     if (RandomNumber.Draw(0, 115) < DateTime.Now.Year - BirthDate.Year)
     {
         if (DateTime.Now.Year - BirthDate.Year > 75)
         {
             IsDead = true;
         }
         else if (RandomNumber.Draw(1, 3) == 2)
         {
             IsDead = true;
         }
     }
     else
     {
         IsDead = false;
     }
 }
Beispiel #16
0
 public static string GetHouseNumber()
 {
     Logger.houseStart();
     try
     {
         StringBuilder str = new StringBuilder();
         str.Append(" ");
         str.Append(GetNumber());
         if (Draw())
         {
             str.Append(hauseLib[RandomNumber.Draw(0, hauseLib.Length - 1)]);
         }
         if (Draw())
         {
             str.Append($"\\{GetNumber()}");
         }
         return(str.ToString());
     }
     catch (Exception e)
     {
         Logger.log(e);
         return(null);
     }
 }
Beispiel #17
0
 private static string _getDomen()
 {
     Logger.emailDomain();
     return(_popularEmail[RandomNumber.Draw(0, _popularEmail.Length - 1)]);
 }
Beispiel #18
0
        public static char[] getPesel(DateTime birthDate, char sex)
        {
            try
            {
                Logger.peselStart();
                int[] Pesel = new int[11];

                Pesel[0] = birthDate.Year % 100 / 10;
                Pesel[1] = birthDate.Year % 10;

                if (birthDate.Year / 1000 == 1)
                {
                    if ((birthDate.Year % 1000) / 100 == 8)
                    {
                        Pesel[2] = (birthDate.Month + 80) / 10;
                        Pesel[3] = birthDate.Month % 10;
                    }
                    else
                    {
                        Pesel[2] = birthDate.Month / 10;
                        Pesel[3] = birthDate.Month % 10;
                    }
                }
                else
                {
                    if ((birthDate.Year % 1000) / 100 == 0)
                    {
                        Pesel[2] = (birthDate.Month + 20) / 10;
                        Pesel[3] = birthDate.Month % 10;
                    }
                    else
                    {
                        Pesel[2] = (birthDate.Month + 40) / 10;
                        Pesel[3] = birthDate.Month % 10;
                    }
                }

                Pesel[4] = birthDate.Day / 10;
                Pesel[5] = birthDate.Day % 10;

                Pesel[6] = RandomNumber.Draw(0, 9);
                Pesel[7] = RandomNumber.Draw(0, 9);
                Pesel[8] = RandomNumber.Draw(0, 9);

                if (sex == 'm')
                {
                    Pesel[9] = RandomNumber.Draw(0, 4) * 2 + 1;
                }
                else
                {
                    Pesel[9] = RandomNumber.Draw(0, 4) * 2;
                }

                Pesel[10] = (10 - (Pesel[0] + 3 * Pesel[1] + 7 * Pesel[2] + 9 * Pesel[3] + Pesel[4] + 3 * Pesel[5] + 7 * Pesel[6] + 9 * Pesel[7] + Pesel[8] + 3 * Pesel[9]) % 10) % 10;

                string s = string.Join("", Pesel);
                return(s.ToCharArray());
            }
            catch (Exception e)
            {
                Logger.log(e);
                return(null);
            }
        }
Beispiel #19
0
        static string _differentEmail(string firstName, string lastName)
        {
            string[] different = new string[] { "kontakt.pl", "contact.com", "info.com", "mojafirma.pl" };
            string[] domen     = new string[] { ".pl", ".com" };
            string[] contact   = new string[] { "kontakt", "contact", "info", "mojafirma" };

            try
            {
                if (_draw())
                {
                    if (_draw())
                    {
                        if (_draw())
                        {
                            return($"{firstName}@{different[RandomNumber.Draw(0, different.Length - 1)]}");
                        }
                        else
                        {
                            return($"{lastName}@{different[RandomNumber.Draw(0, different.Length - 1)]}");
                        }
                    }
                    else
                    {
                        if (_draw())
                        {
                            return($"{firstName}{lastName}@{different[RandomNumber.Draw(0, different.Length - 1)]}");
                        }
                        else
                        {
                            return($"{lastName}{firstName}@{different[RandomNumber.Draw(0, different.Length - 1)]}");
                        }
                    }
                }
                else
                {
                    if (_draw())
                    {
                        if (_draw())
                        {
                            return($"{firstName}@{lastName}{domen[RandomNumber.Draw(0, domen.Length - 1)]}");
                        }
                        else
                        {
                            return($"{lastName}@{firstName}{domen[RandomNumber.Draw(0, domen.Length - 1)]}");
                        }
                    }
                    else
                    {
                        if (_draw())
                        {
                            return($"{contact[RandomNumber.Draw(0, contact.Length - 1)]}@{firstName}{lastName}{domen[RandomNumber.Draw(0, domen.Length - 1)]}");
                        }
                        else
                        {
                            return($"{contact[RandomNumber.Draw(0, contact.Length - 1)]}@{lastName}{firstName}{domen[RandomNumber.Draw(0, domen.Length - 1)]}");
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Logger.log(e);
                return(null);
            }
        }
Beispiel #20
0
        public static void Generate(PeopleContext context, int?amount = null)
        {
            bool existsFlag = false;

            Logger.generatorMain();
            int i = 0;

            try
            {
                while (true)
                {
                    i++;
                    Logger.start();
                    DateTime startTime = new DateTime(2020, 10, 1);
                    var      date      = Date.getDate(startTime);

                    Thread.Sleep(2000);

                    #region PERSON
                    GeneratorsClass.Person localPeroson = new GeneratorsClass.Person();

                    var person = PersonToPerson(localPeroson);
                    context.People.Add(person);
                    context.SaveChanges();
                    #endregion

                    #region IS_DEAD
                    if (localPeroson.IsDead == true)
                    {
                        var deceasedPerson = isDead(person, localPeroson);
                        context.DeceasedPeople.Add(deceasedPerson);
                        context.SaveChanges();
                        continue;
                    }
                    #endregion

                    #region CONCTACT
                    int inc = 1;
                    while (true)
                    {
                        if (DateTime.Today.Year - person.BirthDate.Year < 65)
                        {
                            existsFlag = false;
                            var contact = SetContact(person.FirstName, person.LastName);
                            try
                            {
                                var test = context.Contacts.Where(e => e.Email == contact.Email).Where(p => p.PhoneNumber == contact.PhoneNumber).Count();
                                if (test > 0)
                                {
                                    existsFlag = true;
                                    throw new DbUpdateException();
                                }

                                context.Contacts.Add(contact);
                                context.SaveChanges();
                                var personContact = MergePersonContact(person, contact);
                                contact.PersonContacts.Add(personContact);
                            }
                            catch (DbUpdateException)
                            {
                                Logger.generatorContactDbUpdateError();
                                break;
                            }

                            if ((existsFlag || RandomNumber.Draw(1, (int)Math.Pow(100, inc)) == 5) && context.Contacts.Count() > 2)
                            {
                                context.PersonContacts.Add(MergePersonContact(person, context.Contacts.Skip(RandomNumber.Draw(0, context.Contacts.Count() - 2)).First()));
                            }
                        }
                        else
                        {
                            if (RandomNumber.Draw(1, 10) == 5 && context.Contacts.Count() > 2)
                            {
                                var drawContact = context.Contacts.Skip(RandomNumber.Draw(0, context.Contacts.Count() - 2)).First();
                                if (context.PersonContacts.Where(p => p.PersonId == person.Id).Where(c => c.ContactId == drawContact.Id).Count() == 0)
                                {
                                    context.PersonContacts.Add(MergePersonContact(person, drawContact));
                                }
                                else
                                {
                                    Logger.generatorExistsPC();
                                }
                            }
                        }

                        context.SaveChanges();

                        if (RandomNumber.Draw(1, (int)Math.Pow(2, inc)) > 1)
                        {
                            break;
                        }
                        else
                        {
                            inc++;
                            Logger.generatorOneMoreContact();
                        }
                    }
                    #endregion

                    #region ADDRESS
                    var address = SetAddress(localPeroson.Street);

                    model.PersonAddress personAddress = new model.PersonAddress();

                    if (address.Street != "null" && address.City != "null")
                    {
                        context.SaveChanges();
                        try
                        {
                            existsFlag = false;
                            var test = context.Addresses.Where(s => s.Street == address.Street).Where(c => c.City == address.City).Count();
                            if (test > 0)
                            {
                                existsFlag = true;
                                throw new DbUpdateException();
                            }
                            context.Addresses.Add(address);
                            context.SaveChanges();
                            personAddress = MergePersonAddress(person, address, date);
                        }
                        catch (DbUpdateException)
                        {
                            Logger.generatorAddressDbUpdateError();
                        }
                    }
                    else if (context.Addresses.Select(x => x.Id).Count() > 2)
                    {
                        existsFlag    = false;
                        personAddress = MergePersonAddress(person, context.Addresses.Skip(RandomNumber.Draw(0, context.Addresses.Count() - 2)).First(), date);
                        if (context.PersonAddresses.Where(x => x.AddressId == personAddress.AddressId).Where(x => x.PersonId == personAddress.PersonId).Count() > 0)
                        {
                            existsFlag = true;
                            Logger.generatorExistsPA();
                        }
                    }
                    else
                    {
                        var deceasedPerson = isDead(person, localPeroson);
                        context.DeceasedPeople.Add(deceasedPerson);
                        context.SaveChanges();
                        continue;
                    }


                    if (!existsFlag)
                    {
                        context.PersonAddresses.Add(personAddress);
                        context.SaveChanges();
                    }


                    if (RandomNumber.Draw(1, 5) == 5 && context.Addresses.Count() > 2)
                    {
                        var drawAddress = context.Addresses.Skip(RandomNumber.Draw(0, context.Addresses.Count() - 2)).First();
                        if (context.PersonAddresses.Where(x => x.AddressId == personAddress.AddressId).Where(x => x.PersonId == personAddress.PersonId).Count() == 0)
                        {
                            context.PersonAddresses.Add(MergePersonAddress(person, drawAddress, date));
                        }
                        else
                        {
                            Logger.generatorExistsPA();
                        }
                    }


                    #endregion

                    #region END
                    if (amount != null && amount <= i)
                    {
                        break;
                    }
                    #endregion

                    context.SaveChanges();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            context.SaveChanges();
        }