Example #1
0
        public AddWindow(int id = 0)
        {
            ID = id;

            InitializeComponent();

            var model = new ViewModels.AddWindowModel(this);

            AcceptButton.Command = model.AcceptCommand;
            RejectButton.Command = model.RejectCommand;

            if (ID != 0)
            {
                // nawiązanie połączenia z bazą danych
                using var db = new MyDatabaseContext();

                // wyszukanie przy pomocy LINQ osoby o podanym ID
                // oraz utworzenie odpowiedniego obiektu (klasy Person)
                var person = (from p in db.Persons
                              join c in db.Contacts
                              on p.ID equals c.PersonID
                              where p.ID == ID
                              select new Person {
                    ID = p.ID,
                    FirstName = p.FirstName,
                    LastName = p.LastName,
                    Age = p.Age,
                    Contact = new Contact {
                        City = c.City,
                        Street = c.Street,
                        HomeNumber = c.HomeNumber,
                        PostCode = c.PostCode,
                        PostOffice = c.PostOffice,
                        Email = c.Email,
                        Phone = c.Phone
                    }
                }).First();

                //// wyświetlanie pobrancyh danych w odpowiednich kontrolkach

                // ustawienie nowego tytułu okna
                this.Caption.Text = $"Aktualizacja użytkownika: {person.FirstName} {person.LastName}";
                this.Title        = this.Caption.Text;

                // adekwatny tekst na przycisku (zamiast zapisz zmiana na Zaaktualizuj)
                this.AcceptButton.Content = "Zaaktualizuj";

                // wprowadzenie danych do odpowiednich pól edytowalnych
                this.Firstname.Text  = person.FirstName;
                this.Surname.Text    = person.LastName;
                this.Age.Text        = Convert.ToString(person.Age);
                this.City.Text       = person.Contact.City;
                this.Street.Text     = person.Contact.Street;
                this.HomeNumer.Text  = person.Contact.HomeNumber;
                this.PostCode.Text   = person.Contact.PostCode;
                this.PostOffice.Text = person.Contact.PostOffice;
                this.Email.Text      = person.Contact.Email;
                this.Phone.Text      = person.Contact.Phone;
            }
        }
Example #2
0
 public RejectCommand(ViewModels.AddWindowModel context) => dataContext = context;
Example #3
0
 public AcceptCommand(ViewModels.AddWindowModel context) => dataContext = context;