Exemple #1
0
        public Task <Payment> Handle(FindPayment request, CancellationToken cancellationToken)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            if (PaymentDb.TryGetValue(request.AcquiringPaymentBankId, out var payment))
            {
                return(Task.FromResult(payment));
            }

            return(Task.FromResult <Payment>(null));
        }
        public Task <Payment> Handle(FindPayment request, CancellationToken cancellationToken)
        {
            if (request is null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            using (var db = new PaymentGatewayDbContext())
            {
                var payment = db.Payments
                              .Where(p => p.MerchantId == request.MerchantId && p.AcquiringBankPaymentId == request.AcquiringPaymentBankId)
                              .FirstOrDefault();

                return(Task.FromResult(payment));
            }
        }
Exemple #3
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);
            }
        }