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; } }
public RejectCommand(ViewModels.AddWindowModel context) => dataContext = context;
public AcceptCommand(ViewModels.AddWindowModel context) => dataContext = context;