public void UpdateFastPaymentStatus(FastPayment fastPayment, FastPaymentDTOStatus newStatus, DateTime statusDate) { var oldStatus = fastPayment.FastPaymentStatus; _fastPaymentManager.UpdateFastPaymentStatus(_uow, fastPayment, newStatus, statusDate); Save(fastPayment); _logger.LogInformation($"Статус платежа с externalId: {fastPayment.ExternalId} изменён c {oldStatus} на {newStatus}"); }
public void UpdateFastPaymentStatus(IUnitOfWork uow, FastPayment fastPayment, FastPaymentDTOStatus newStatus, DateTime statusDate) { switch (newStatus) { case FastPaymentDTOStatus.Processing: fastPayment.SetProcessingStatus(); break; case FastPaymentDTOStatus.Performed: if (fastPayment.Order != null) { var paymentFrom = fastPayment.FastPaymentPayType == FastPaymentPayType.ByCard ? _orderParametersProvider.GetPaymentByCardFromAvangardId : _orderParametersProvider.GetPaymentByCardFromFastPaymentServiceId; fastPayment.SetPerformedStatusForOrder( uow, statusDate, uow.GetById <PaymentFrom>(paymentFrom), _standartNomenclatures, _routeListItemRepository, _selfDeliveryRepository, _cashRepository); } else { fastPayment.SetPerformedStatusForOnlineOrder(statusDate); } break; case FastPaymentDTOStatus.Rejected: fastPayment.SetRejectedStatus(); break; default: throw new InvalidOperationException("Неизвестный статус оплаты"); } }