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)); } }
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); } }