Exemple #1
0
        public static void GenerateDbContext()
        {
            Random rnd = new Random();

            using (PhoneBookDataContext db = new PhoneBookDataContext())
            {
                for (int i = 1; i < 10000; i++)
                {
                    Persons person = new Persons()
                    {
                        PersonId = i, FirstName = Names[rnd.Next(0, 10)], LastName = LastName[rnd.Next(0, 10)], MiddleName = MiddleName[rnd.Next(0, 10)], BornDate = rndDate.Next(), Addresses = null, Phones = null
                    };
                    Phones phone = new Phones()
                    {
                        PersonId = i, Phonenumber = "8" + rnd.Next(10000, 99999).ToString() + rnd.Next(10000, 99999).ToString()
                    };
                    Addresses address = new Addresses()
                    {
                        PersonId = i, City = "Сосновый бор", Street = Streets[rnd.Next(0, 10)], House = rnd.Next(1, 60).ToString(), Flat = rnd.Next(1, 100).ToString(), HouseBlock = null, Persons = person
                    };
                    db.Addresses.InsertOnSubmit(address);
                    db.Phones.InsertOnSubmit(phone);
                    db.Persons.InsertOnSubmit(person);
                }
                db.SubmitChanges();
            }
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            using (PhoneBookDataContext db = new PhoneBookDataContext())
            {
                if (!EditMode)
                {
                    try
                    {
                        var result = db.SearchPerson(SearchQuery.LastName, SearchQuery.FirstName, SearchQuery.MiddleName, SearchQuery.City, SearchQuery.Street, SearchQuery.House, SearchQuery.Flat, !string.IsNullOrEmpty(SearchQuery.Phonenumber) ? System.Text.RegularExpressions.Regex.Replace(SearchQuery.Phonenumber, @"[^0-9.]", "") : SearchQuery.Phonenumber);
                        personGrid.ItemsSource = result.ToList();
                        result_Text.Text       = personGrid.Items.Count == 0 ? string.Format("Ничего не найдено") : string.Format("Найдено {0} человек", personGrid.Items.Count);
                    }
                    catch (Exception exc)
                    {
                        Trace.WriteLine(exc.ToString());
                        result_Text.Text = "Произошла ошибка при поиске";
                    }
                }
                else
                {
                    try
                    {
                        db.InsertPerson(SearchQuery.LastName, SearchQuery.FirstName, SearchQuery.MiddleName, SearchQuery.BornDate, SearchQuery.City, SearchQuery.Street, SearchQuery.House, SearchQuery.Flat, System.Text.RegularExpressions.Regex.Replace(SearchQuery.Phonenumber, @"[^0-9.]", ""));
                        result_Text.Text = string.Format("{0} {1} {2} был добавлен в базу", SearchQuery.LastName, SearchQuery.FirstName, SearchQuery.MiddleName);

                        SearchQuery.MiddleName  = null;
                        SearchQuery.FirstName   = null;
                        SearchQuery.City        = null;
                        SearchQuery.Street      = null;
                        SearchQuery.House       = null;
                        SearchQuery.Flat        = null;
                        SearchQuery.Phonenumber = null;
                        textbox_BirthDate.Text  = null;

                        textbox_Phonenumber.Focus();
                    }
                    catch
                    {
                        result_Text.Text = "Не удалось добавить в базу, проверьте поля";
                    }
                }
            }
        }