public Start()
 {
     InitializeComponent();
     using (OwnerEntities db = new OwnerEntities())
     {
         Nazwa.Text = $"Witaj {ActualOwner.fName}" + "\n" + " Aktualnie masz: " + db.People.Where(x => x.PhoneBookID == db.PhoneBooks.Where(o => o.OwnerID == ActualOwner.ID).FirstOrDefault().ID).Count().ToString() + " kontaktów";
     }
 }
 private void searching(object sender, TextCompositionEventArgs e)
 {
     using (OwnerEntities db = new OwnerEntities())
     {
         if (searchtxt.Text != "")
         {
             if (SearchCombo.Text == "Imię")
             {
                 var fNameSearch = from p in db.People
                                   where p.PhoneBookID == db.PhoneBooks.Where(x => x.OwnerID == db.Owners.Where(o => o.fName == ActualOwner.fName).Where(o => o.lName == ActualOwner.lName).FirstOrDefault().ID).FirstOrDefault().ID
                                   where p.fName.Contains(searchtxt.Text)
                                   select new
                 {
                     p.fName,
                     p.lName,
                     Country = p.Countries.Country,
                     Email   = p.EmailAddresses.Select(x => x.Email).ToList(),
                     Number  = p.PhoneNumbers.Select(x => x.Number).ToList()
                 };
                 this.seatchGrid.ItemsSource = fNameSearch.ToList();
             }
             else if (SearchCombo.Text == "Nazwisko")
             {
                 var lNameSearch = from p in db.People
                                   where p.PhoneBookID == db.PhoneBooks.Where(x => x.OwnerID == db.Owners.Where(o => o.fName == ActualOwner.fName).Where(o => o.lName == ActualOwner.lName).FirstOrDefault().ID).FirstOrDefault().ID
                                   where p.lName.Contains(searchtxt.Text)
                                   select new
                 {
                     p.fName,
                     p.lName,
                     Country = p.Countries.Country,
                     Email   = p.EmailAddresses.Select(x => x.Email).ToList(),
                     Number  = p.PhoneNumbers.Select(x => x.Number).ToList()
                 };
                 this.seatchGrid.ItemsSource = lNameSearch.ToList();
             }
             else if (SearchCombo.Text == "Kraj")
             {
                 var CountrySearch = from p in db.People
                                     where p.PhoneBookID == db.PhoneBooks.Where(x => x.OwnerID == db.Owners.Where(o => o.fName == ActualOwner.fName).Where(o => o.lName == ActualOwner.lName).FirstOrDefault().ID).FirstOrDefault().ID
                                     where p.CountryID == db.Countries.Where(x => x.Country.Contains(searchtxt.Text)).FirstOrDefault().ID
                                     select new
                 {
                     p.fName,
                     p.lName,
                     Country = p.Countries.Country,
                     Email   = p.EmailAddresses.Select(x => x.Email).ToList(),
                     Number  = p.PhoneNumbers.Select(x => x.Number).ToList()
                 };
                 this.seatchGrid.ItemsSource = CountrySearch.ToList();
             }
         }
     }
 }
示例#3
0
        private void delete_btn(object sender, RoutedEventArgs e)
        {
            string data = this.DeleteListGrid.SelectedItem.ToString().Trim('}', '{').Trim();
            var    q    = data.Split(',')
                          .Select(x => x.Split('='))
                          .Select(x => x[1].Trim());
            string u = "";

            foreach (var item in q)
            {
                u += (" " + item);
            }
            string[] q2 = u.Trim().Split(' ');
            string   Im = q2[0];
            string   Na = q2[1];

            using (OwnerEntities db = new OwnerEntities())
            {
                var email = from p in db.EmailAddresses
                            where p.PersonID == db.People.Where(x => x.fName == Im).Where(x => x.lName == Na).FirstOrDefault().ID
                            select p;

                int temp = email.Count();
                for (int i = 0; i < temp; i++)
                {
                    db.EmailAddresses.Remove(email.FirstOrDefault());
                }
                db.SaveChanges();
                var numbers = from p in db.PhoneNumbers
                              where p.PersonID == db.People.Where(x => x.fName == Im).Where(x => x.lName == Na).FirstOrDefault().ID
                              select p;

                temp = numbers.Count();

                for (int i = 0; i < temp; i++)
                {
                    db.PhoneNumbers.Remove(numbers.FirstOrDefault());
                }
                db.SaveChanges();
                var people = from p in db.People
                             where p.fName == Im
                             where p.lName == Na
                             select p;

                db.People.Remove(people.Include(x => x.Countries).Include(x => x.EmailAddresses).Include(x => x.PhoneNumbers).First());
                db.SaveChanges();
            }
        }
示例#4
0
        public Email()
        {
            InitializeComponent();
            this.Sender.Text = ActualOwner.fName + " " + ActualOwner.lName;

            OwnerEntities db = new OwnerEntities();

            int pID = db.PhoneBooks.Where(x => x.OwnerID == ActualOwner.ID).FirstOrDefault().ID;

            var q = from p in db.People
                    where p.PhoneBookID == pID
                    select new
            {
                Name = p.fName + " " + p.lName
            };

            Receiver.ItemsSource = q.ToList();
        }
示例#5
0
        private void changeEmail(object sender, EventArgs e)
        {
            OwnerEntities db = new OwnerEntities();

            if (Receiver.Text.Split().Length == 2)
            {
                string f = Receiver.Text.ToString().Split(' ')[0];
                string l = Receiver.Text.ToString().Split(' ')[1];

                var q1 = from em in db.EmailAddresses
                         where em.PersonID == db.People.Where(x => x.PhoneBookID == db.PhoneBooks.Where(o => o.OwnerID == ActualOwner.ID).FirstOrDefault().ID).Where(x => x.fName == f).Where(x => x.lName == l).FirstOrDefault().ID
                         select new
                {
                    mail = em.Email
                };


                recMail.ItemsSource = q1.ToList();
            }
        }
示例#6
0
        public MainWindow(string x, string y)
        {
            InitializeComponent();
            this.Current_Owner.Text = x + " " + y;
            ActualOwner.fName       = x;
            ActualOwner.lName       = y;


            DataContext = new Start_model();


            using (OwnerEntities db = new OwnerEntities())
            {
                ActualOwner.ID = db.Owners.Where(o => o.fName == x).Where(o => o.lName == y).FirstOrDefault().ID;


                if (db.Countries.Count() == 0)
                {
                    foreach (var item in Country.GetValues(typeof(Country)))
                    {
                        Countries c = new Countries()
                        {
                            Country = item.ToString()
                        };
                        db.Countries.Add(c);
                    }
                    db.SaveChanges();
                } // wypełnienie bazy Krajami z enum

                if (db.PhoneBooks.Where(a => a.OwnerID == db.Owners.Where(o => o.fName == ActualOwner.fName).Where(o => o.lName == ActualOwner.lName).FirstOrDefault().ID).Count() == 0)
                {
                    PhoneBooks book = new PhoneBooks()
                    {
                        OwnerID = db.Owners.Where(o => o.fName == ActualOwner.fName).Where(o => o.lName == ActualOwner.lName).First().ID
                    };
                    db.PhoneBooks.Add(book);
                    db.SaveChanges();
                }  //stworzenie książki dla aktualnego usera, jeżeli nie istnieje
            }
        }
        public ContactList()
        {
            InitializeComponent();
            foreach (var item in Search_list.GetValues(typeof(Search_list)))
            {
                SearchCombo.Items.Add(item);
            }

            using (OwnerEntities db = new OwnerEntities())
            {
                var people = from p in db.People
                             where p.PhoneBookID == db.PhoneBooks.Where(x => x.OwnerID == db.Owners.Where(o => o.fName == ActualOwner.fName).Where(o => o.lName == ActualOwner.lName).FirstOrDefault().ID).FirstOrDefault().ID
                             select new
                {
                    p.fName,
                    p.lName,
                    Country = p.Countries.Country,
                    Email   = p.EmailAddresses.Select(x => x.Email).ToList(),
                    Number  = p.PhoneNumbers.Select(x => x.Number).ToList()
                };

                this.ContactListGrid.ItemsSource = people.ToList();
            }
        }
示例#8
0
        /// <summary>
        /// Dodanie danych do bazy
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Add_btn(object sender, RoutedEventArgs e)
        {
            using (OwnerEntities db = new OwnerEntities())
            {
                try
                {
                    var eMailValidator = new System.Net.Mail.MailAddress(Mail.Text); //Sprawdzenie Czy adres E-mail jest prawidłowy

                    int    countryID = db.Countries.Where(x => x.Country.Contains(Country_box.Text)).First().ID;
                    string a         = Full_name.Text.Split(' ')[1].ToString();
                    string b         = Full_name.Text.Split(' ')[0].ToString();

                    var q = db.People.Where(x => x.fName == b).Where(x => x.lName == a).Where(x => x.PhoneBookID == db.PhoneBooks.Where(o => o.OwnerID == ActualOwner.ID).FirstOrDefault().ID);
                    if (q.Count() == 0)
                    {
                        People person = new People()
                        {
                            fName       = this.Full_name.Text.Split(' ')[0],
                            lName       = this.Full_name.Text.Split(' ')[1],
                            CountryID   = countryID,
                            PhoneBookID = db.PhoneBooks.Where(x => x.OwnerID == db.Owners.Where(o => o.fName == ActualOwner.fName).Where(o => o.lName == ActualOwner.lName).FirstOrDefault().ID).First().ID
                        };
                        db.People.Add(person);
                        db.SaveChanges();
                    }
                    else
                    {
                        MessageBox.Show("Ta osoba istnieje. Dodano dodatkowy adres email i numer telefonu.");
                    }

                    EmailAddresses email = new EmailAddresses()
                    {
                        Email    = this.Mail.Text.ToString(),
                        PersonID = db.People.Where(x => x.fName == b).Where(x => x.lName == a).Where(x => x.PhoneBookID == db.PhoneBooks.Where(o => o.OwnerID == ActualOwner.ID).FirstOrDefault().ID).FirstOrDefault().ID
                    };

                    PhoneNumbers number = new PhoneNumbers()
                    {
                        Number   = this.Phone.Text.ToString(),
                        PersonID = db.People.Where(x => x.fName == b).Where(x => x.lName == a).Where(x => x.PhoneBookID == db.PhoneBooks.Where(o => o.OwnerID == ActualOwner.ID).FirstOrDefault().ID).FirstOrDefault().ID
                    };



                    //db.PhoneBooks.Add(book);
                    db.EmailAddresses.Add(email);
                    db.PhoneNumbers.Add(number);
                    db.SaveChanges();

                    this.Full_name.Text = "";
                    this.Phone.Text     = "";
                    this.Mail.Text      = "";
                }
                catch (Exception)
                {
                    MessageBox.Show("Podany Email jest nieprawidłowy. Spróbuj ponownie");
                    Mail.Text  = "";
                    Phone.Text = "";
                }
            }
        }
示例#9
0
        private void test_btn_Click(object sender, RoutedEventArgs e)
        {
            OwnerEntities db = new OwnerEntities();

            //Owners owner = new Owners()
            //{
            //    lName = "xxx",
            //    fName = "xxxxx"
            //};

            //PhoneBooks phone = new PhoneBooks()
            //{
            //    OwnerID = 1
            //};

            //Countries country = new Countries()
            //{
            //    Country = "Poland"
            //};

            //People people = new People()
            //{
            //    lName = "xxxx",
            //    fName = "xww",
            //    CountryID = 1,
            //    PhoneBookID = 1
            //};

            //EmailAddresses email = new EmailAddresses()
            //{
            //    PersonID = 1,
            //    Email = "*****@*****.**"
            //};

            //PhoneNumbers number = new PhoneNumbers()
            //{
            //    PersonID = 1,
            //    Number = "123123123"
            //};


            //db.Owners.Add(owner);
            //db.People.Add(people);
            //db.PhoneBooks.Add(phone);
            //db.PhoneNumbers.Add(number);
            //db.Countries.Add(country);
            //db.SaveChanges();

            var q  = db.Owners;
            var q1 = db.PhoneBooks;
            var q2 = db.People;
            var q3 = db.EmailAddresses;
            var q4 = db.PhoneNumbers;

            var people = from p in db.People
                         select new
            {
                p.fName,
                p.lName,
                Country = p.Countries.Country,
                Email   = p.EmailAddresses.Select(x => x.Email).ToList(),
                Number  = p.PhoneNumbers.Select(x => x.Number).ToList()
            };

            this.test.ItemsSource = people.ToList();

            this.TestgridOwner.ItemsSource       = q.ToList();
            this.TestgridPhoneBook.ItemsSource   = q1.ToList();
            this.TestgridPeople.ItemsSource      = people.ToList();
            this.TestgridEmailAddres.ItemsSource = q3.ToList();
            this.TestgridPhoneNumber.ItemsSource = q4.ToList();
        }
示例#10
0
        /// <summary>
        /// Przycisk odpowiedzialny za usuwanie obiektów z bazy.
        /// </summary>
        /// <param name="sender">Nie mam pojęcia co to jest</param>
        /// <param name="e"></param>
        private void delete_Click(object sender, RoutedEventArgs e)
        {
            OwnerEntities db = new OwnerEntities();


            //dodaj using (

            if (db.Owners.Count() != 0)
            {
                var q = db.Owners;
                foreach (var item in q)
                {
                    db.Owners.Remove(db.Owners.Include(x => x.PhoneBooks).First());
                }
            }
            if (db.People.Count() != 0)
            {
                var q = db.People;
                foreach (var item in q)
                {
                    db.People.Remove(db.People.OrderBy(x => x.ID).Include(x => x.Countries).Include(x => x.EmailAddresses).Include(x => x.PhoneNumbers).First());
                }
            }
            if (db.PhoneBooks.Count() != 0)
            {
                var q = db.PhoneBooks;
                foreach (var item in q)
                {
                    db.PhoneBooks.Remove(db.PhoneBooks.Include(x => x.Owners).Include(x => x.People).First());
                }
            }
            if (db.EmailAddresses.Count() != 0)
            {
                var q = db.EmailAddresses;
                foreach (var item in q)
                {
                    db.EmailAddresses.Remove(db.EmailAddresses.First());
                }
            }
            if (db.PhoneNumbers.Count() != 0)
            {
                var q = db.PhoneNumbers;
                foreach (var item in q)
                {
                    db.PhoneNumbers.Remove(db.PhoneNumbers.First());
                }
            }
            //if (db.Countries.Count() != 0)
            //{
            //    var q = db.Countries;
            //    foreach (var item in q)
            //    {
            //        db.Countries.Remove(db.Countries.First());
            //    }
            //}

            //db.Database.ExecuteSqlCommand("DELETE FROM [Owners]");
            db.Database.ExecuteSqlCommand("DBCC CHECKIDENT ('Owner.dbo.Owners', RESEED, 0)");
            db.Database.ExecuteSqlCommand("DBCC CHECKIDENT ('Owner.dbo.EmailAddresses', RESEED, 0)");
            db.Database.ExecuteSqlCommand("DBCC CHECKIDENT ('Owner.dbo.People', RESEED, 0)");
            db.Database.ExecuteSqlCommand("DBCC CHECKIDENT ('Owner.dbo.PhoneBooks', RESEED, 0)");
            db.Database.ExecuteSqlCommand("DBCC CHECKIDENT ('Owner.dbo.PhoneNumbers', RESEED, 0)");
            //db.Database.ExecuteSqlCommand("DBCC CHECKIDENT ('Owner.dbo.Countries', RESEED, 0)");
            db.SaveChanges();
        }
示例#11
0
 private void deletesearchtxt_TextChanged(object sender, TextChangedEventArgs e)
 {
     using (OwnerEntities db = new OwnerEntities())
     {
         if (deletesearchtxt.Text != "")
         {
             if (deleteSearchCombo.Text == "Imię")
             {
                 var fNameSearch = from p in db.People
                                   where p.PhoneBookID == db.PhoneBooks.Where(x => x.OwnerID == db.Owners.Where(o => o.fName == ActualOwner.fName).Where(o => o.lName == ActualOwner.lName).FirstOrDefault().ID).FirstOrDefault().ID
                                   where p.fName.Contains(deletesearchtxt.Text)
                                   select new
                 {
                     p.fName,
                     p.lName,
                     Country = p.Countries.Country,
                     Email   = p.EmailAddresses.Select(x => x.Email).ToList(),
                     Number  = p.PhoneNumbers.Select(x => x.Number).ToList()
                 };
                 this.DeleteListGrid.ItemsSource = fNameSearch.ToList();
             }
             else if (deleteSearchCombo.Text == "Nazwisko")
             {
                 var lNameSearch = from p in db.People
                                   where p.PhoneBookID == db.PhoneBooks.Where(x => x.OwnerID == db.Owners.Where(o => o.fName == ActualOwner.fName).Where(o => o.lName == ActualOwner.lName).FirstOrDefault().ID).FirstOrDefault().ID
                                   where p.lName.Contains(deletesearchtxt.Text)
                                   select new
                 {
                     p.fName,
                     p.lName,
                     Country = p.Countries.Country,
                     Email   = p.EmailAddresses.Select(x => x.Email).ToList(),
                     Number  = p.PhoneNumbers.Select(x => x.Number).ToList()
                 };
                 this.DeleteListGrid.ItemsSource = lNameSearch.ToList();
             }
             else if (deleteSearchCombo.Text == "Email")
             {
                 var CountrySearch = from p in db.People
                                     where p.PhoneBookID == db.PhoneBooks.Where(x => x.OwnerID == db.Owners.Where(o => o.fName == ActualOwner.fName).Where(o => o.lName == ActualOwner.lName).FirstOrDefault().ID).FirstOrDefault().ID
                                     where p.ID == db.EmailAddresses.Where(x => x.Email.Contains(deletesearchtxt.Text)).FirstOrDefault().PersonID
                                     select new
                 {
                     p.fName,
                     p.lName,
                     Country = p.Countries.Country,
                     Email   = p.EmailAddresses.Select(x => x.Email).ToList(),
                     Number  = p.PhoneNumbers.Select(x => x.Number).ToList()
                 };
                 this.DeleteListGrid.ItemsSource = CountrySearch.ToList();
             }
             else if (deletesearchtxt.Text == "Telefon")
             {
                 var phoneSearch = from p in db.People
                                   where p.PhoneBookID == db.PhoneBooks.Where(x => x.OwnerID == db.Owners.Where(o => o.fName == ActualOwner.fName).Where(o => o.lName == ActualOwner.lName).FirstOrDefault().ID).FirstOrDefault().ID
                                   where p.ID == db.PhoneNumbers.Where(x => x.Number.Contains(deletesearchtxt.Text)).FirstOrDefault().PersonID
                                   select new
                 {
                     p.fName,
                     p.lName,
                     Country = p.Countries.Country,
                     Email   = p.EmailAddresses.Select(x => x.Email).ToList(),
                     Number  = p.PhoneNumbers.Select(x => x.Number).ToList()
                 };
                 this.DeleteListGrid.ItemsSource = phoneSearch.ToList();
             }
         }
     }
 }