Imports System.Net
Imports System.Windows.Ink
Imports System.Windows.Media.Animation
Imports System.ComponentModel
Imports System.Collections.ObjectModel

Namespace DataGrid_SaveState
	Public Class Person
		Public Property Name() As String
		Public Property Age() As Integer

		<Category("Current Location")>
		Public Property Address() As String

		<Category("Current Location")>
		Public Property Residence() As String

		Public Property Born() As String

		Private Shared Randomizer As New Random()

		Public Shared Function Generate(ByVal qty As Integer) As ObservableCollection(Of Person)
			Dim items = New ObservableCollection(Of Person)()
			For i As Integer = 0 To qty - 1
				items.Add(New Person() With {.Name = Names(Randomizer.Next(Names.Length)) & " " & Surnames(Randomizer.Next(Surnames.Length)), .Address = Streets(Randomizer.Next(Streets.Length)) & " " & (1000 + Randomizer.Next(8999)).ToString(), .Age = 10 + Randomizer.Next(40), .Residence = Countries(Randomizer.Next(Countries.Length)), .Born = Countries(Randomizer.Next(Countries.Length))})
			Next i
			Return items
		End Function

		Private Shared Streets() As String = { "5th Avenue", "10th Avenue", "13th Street", "Solano García", "Fray Bentos", "Lois Albert Herrera", "Brasil Avenue", "Kenedy Avenue", "Peter Campbell", "Missisipi" }

		Private Shared Names() As String = { "Michael", "John", "Bernardo", "Alvaro", "Max", "Leonard", "Noela", "Gabriel", "Bruno", "Rodrigo", "Sheela", "Chris", "Martin", "Ben", "Alex", "Irina", "Dave", "Patric" }

		Private Shared Surnames() As String = { "Johnson", "Alvarez", "Maxtor", "Johansen", "Vera", "García", "Days", "Castle", "Varela", "Smith", "Gates", "Meredith", "Drexler", "Beckham", "Jobs" }

		Private Shared Countries() As String = { "Afghanistan", "Albania", "Algeria", "Andorra", "Angola", "Antigua and Barbuda", "Argentina", "Armenia", "Australia", "Austria", "Azerbaijan", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bhutan", "Bolivia", "Bosnia and Herzegovina", "Botswana", "Brazil", "Brunei", "Bulgaria", "Burkina Faso", "Burundi", "Côte d'Ivoire", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Central African Republic", "Chad", "Chile", "China", "Colombia", "Comoros", "Congo", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czech Republic", "Democratic Republic of the Congo", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Fiji", "Finland", "Former Yugoslav Republic of Macedonia", "France", "Gabon", "Georgia", "Germany", "Ghana", "Greece", "Grenada", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Honduras", "Hungary", "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Kuwait", "Kyrgyzstan", "Laos", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg ", "Macau -- ", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Mauritania", "Mauritius", "Mexico", "Micronesia", "Moldova", "Monaco", "Mongolia", "Morocco", "Mozambique", "Myanmar", "Namibia", "Nauru", "Nepal", "Netherlands", "New Zealand", "Nicaragua", "Niger", "Nigeria", "North Korea", "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Poland", "Portugal", "Qatar", "Romania", "Russia", "Rwanda", "São Tomé and Príncipe", "Saint Kitts and Nevis", "Saint Lucia", "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Saudi Arabia", "Senegal", "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Korea", "Spain", "Sri Lanka", "Sudan", "Suriname", "Swaziland", "Sweden", "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "The Bahamas", "The Gambia", "Togo", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States", "Uruguay", "Uzbekistan", "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Western Sahara", "Yemen", "Yugoslavia", "Zambia", "Zimbabwe" }
	End Class
End Namespace
