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); } }
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); } }
private static string _drawN() { int start = (int)Math.Pow(10, RandomNumber.Draw(0, 7)); int end = start * 10; return(RandomNumber.Draw(start, end).ToString()); }
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); }
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)); } }
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()); }
private static bool _draw() { if (RandomNumber.Draw(0, 1) == 1) { return(true); } else { return(false); } }
static string GetNumber() { if (RandomNumber.Draw(1, 10) < 9) { return(RandomNumber.Draw(1, 20).ToString()); } else { return(RandomNumber.Draw(21, 40).ToString()); } }
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)); } }
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)); } }
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()); } }
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()); } }
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)); } }
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); } }
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; } }
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); } }
private static string _getDomen() { Logger.emailDomain(); return(_popularEmail[RandomNumber.Draw(0, _popularEmail.Length - 1)]); }
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); } }
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); } }
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(); }