예제 #1
0
        public MainWindow()
        {
            InitializeComponent();

            new LoadingWindow().Show();

            Client = new WebClient();
            Random = new Random();
            ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(
                delegate { return(true); }
                );

            phonebook = new EzDBList <PhoneBook>("System.Data.SqlClient", @"Server=(localdb)\mssqllocaldb; Database=master; Integrated Security=True", false);

            ushort MaxUsers = 1000;

            if (phonebook.Count < MaxUsers / 2)
            {
                try {
                    Stream       data   = Client.OpenRead($"https://randomuser.me/api/?nat=us&inc=gender,name,location,phone&results={MaxUsers}");
                    StreamReader reader = new StreamReader(data);
                    dynamic      human  = JsonConvert.DeserializeObject(reader.ReadToEnd());
                    data.Close();
                    reader.Close();

                    for (ushort i = 0; i < MaxUsers; ++i)
                    {
                        string[] loc    = human.results[i].location.street.ToString().Split(' ');
                        string   street = "";
                        for (byte j = 1; j < loc.Length; ++j)
                        {
                            street += loc[j] + ' ';
                        }
                        street.TrimEnd();

                        phonebook.Add(new PhoneBook(
                                          MakeFirstUpper(human.results[i].name.first.ToString()),
                                          MakeFirstUpper(human.results[i].name.last.ToString()),
                                          human.results[i].phone.ToString(),
                                          MakeFirstUpper(human.results[i].location.city.ToString()),
                                          MakeAllUpper(street),
                                          int.Parse(loc[0]),
                                          Random.Next(1, 101)
                                          ));
                    }
                }
                catch (Exception ex) {
                    MessageBox.Show("Cant download random humans from randomuser.me\nCheck your internet connection", "Error!", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);
                    MessageBox.Show(ex.Message + "\n\n" + ex.Source + "\n\n" + ex.StackTrace, "Error!", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK);
                }
            }

            dataGrid.ItemsSource = phonebook;
            dataGrid.Items.Refresh();
            Window = this;
        }
예제 #2
0
        static void Main(string[] args)
        {
            //Database=master. Має бути завжди
            //Потім створиться потрібна БД і в ній таблиця(Якщо потрібно)
            //Імя БД: ІмяКласу + s
            //Імя таблиці: ІмяКласу
            //3 аргумент - примусово видалити БД та створити нову
            var list = new EzDBList <DataExample>("System.Data.SqlClient", @"Server=(localdb)\mssqllocaldb; Database=master; Integrated Security=True", true);

            list.Add(new DataExample("Value1"));             // Id 1
            list.Add(new DataExample("Value2"));             // Id 2
            list.Add(new DataExample("Value3"));             // Id 3

            //Пошук реалізований лише так
            DataExample find1 = list.Find(
                (a) => a.Id == 3
                );

            Console.WriteLine($"Id==3: {find1.UserData}");
            Console.WriteLine();

            DataExample find2 = list.Find(
                (a) => a.UserData == "Value2"
                );

            Console.WriteLine($"UserData == \"Value2\": {find2.UserData}");
            Console.WriteLine();

            //Видалення лише з попереднім пошуком
            list.Remove(find2);

            foreach (var i in list)
            {
                Console.WriteLine($"foreach: {i.Id, -3} {i.UserData}");
            }
            Console.WriteLine();
        }