Beispiel #1
0
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            WindowNewPayment wnEmployee = new WindowNewPayment
            {
                Title = "Новая покупка",
                Owner = this
            };

            // формирование кода нового собрудника
            int        maxIdPerson = vmPayment.MaxId() + 1;
            PaymentDOP per         = new PaymentDOP
            {
                Id   = maxIdPerson,
                Date = DateTime.Now
            };

            wnEmployee.DataContext       = per;
            wnEmployee.CbSer.ItemsSource = services;
            wnEmployee.CbCl.ItemsSource  = clients;

            if (wnEmployee.ShowDialog() == true)
            {
                Service r = (Service)wnEmployee.CbSer.SelectedValue;
                Client  c = (Client)wnEmployee.CbCl.SelectedValue;
                per.Service = r.Name;
                per.Client  = c.FirstName + " " + c.LastName;
                persons.Add(per);

                Payment p = new Payment();
                p = p.CopyFromPaymentDPO(per);
                vmPayment.PaymentPerson.Add(p);
            }
        }
Beispiel #2
0
        private void btnEdit_Click(object sender, RoutedEventArgs e)
        {
            WindowNewPayment wnEmployee = new WindowNewPayment
            {
                Title = "Редактирование данных",
                Owner = this
            };
            PaymentDOP perDPO = (PaymentDOP)Payment.SelectedValue;
            PaymentDOP tempPerDPO;  // временный класс для редактирования

            if (perDPO != null)
            {
                tempPerDPO                   = perDPO.ShallowCopy();
                wnEmployee.DataContext       = tempPerDPO;
                wnEmployee.CbSer.ItemsSource = services;
                wnEmployee.CbCl.ItemsSource  = clients;
                wnEmployee.CbCl.Text         = tempPerDPO.Client.Split(new char[] { ' ' })[0];
                wnEmployee.CbSer.Text        = tempPerDPO.Service;

                if (wnEmployee.ShowDialog() == true)
                {
                    // перенос данных из временного класса в класс отображения данных
                    Service r = (Service)wnEmployee.CbSer.SelectedValue;
                    Client  p = (Client)wnEmployee.CbCl.SelectedValue;
                    perDPO.Client   = p.FirstName + " " + p.LastName;
                    perDPO.Service  = r.Name;
                    perDPO.Quantity = tempPerDPO.Quantity;
                    perDPO.Date     = tempPerDPO.Date;
                    perDPO.Amount   = tempPerDPO.Amount;

                    Payment.ItemsSource = null;
                    Payment.ItemsSource = persons;

                    // перенос данных из класса отображения данных в класс Person
                    FindPayment    finder     = new FindPayment(perDPO.Id);
                    List <Payment> listPerson = vmPayment.PaymentPerson.ToList();
                    Payment        z          = listPerson.Find(new Predicate <Payment>(finder.PaymentPredicate));
                    z = z.CopyFromPaymentDPO(perDPO);
                }
            }
            else
            {
                MessageBox.Show("Необходимо выбрать покупку для редактированния",
                                "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }