public OrderSummaryPaymentViewModel BuildOrderSummaryPaymentViewModel(Payment payment, CultureInfo cultureInfo) { var paymentVm = new OrderSummaryPaymentViewModel { FirstName = payment.BillingAddress.FirstName, LastName = payment.BillingAddress.LastName }; paymentVm.BillingAddress = new AddressViewModel(); paymentVm.Amount = payment.Amount.ToString(); return(paymentVm); }
public virtual OrderSummaryPaymentViewModel BuildOrderSummaryPaymentViewModel(Overture.ServiceModel.Orders.Payment payment, CultureInfo cultureInfo) { var methodDisplayNames = LookupService.GetLookupDisplayNamesAsync(new GetLookupDisplayNamesParam { CultureInfo = cultureInfo, LookupType = LookupType.Order, LookupName = "PaymentMethodType", }).Result; var paymentMethodDisplayName = methodDisplayNames.FirstOrDefault(x => x.Key == payment.PaymentMethod.Type.ToString()).Value; var paymentVm = new OrderSummaryPaymentViewModel { FirstName = payment.BillingAddress == null ? null: payment.BillingAddress.FirstName, LastName = payment.BillingAddress == null? null : payment.BillingAddress.LastName, PaymentMethodName = paymentMethodDisplayName, }; paymentVm.BillingAddress = CartViewModelFactory.GetAddressViewModel(payment.BillingAddress, cultureInfo); paymentVm.Amount = LocalizationProvider.FormatPrice((decimal)payment.Amount, cultureInfo); return(paymentVm); }
protected virtual List <OrderSummaryPaymentViewModel> GetPaymentViewModels(CreateOrderDetailViewModelParam param) { var paymentVMs = new List <OrderSummaryPaymentViewModel>(); var validPayments = param.Order.Cart.Payments.Where(x => !x.IsVoided()).ToList(); var payments = validPayments.Any() ? validPayments : param.Order.Cart.Payments.ToList(); foreach (var payment in payments) { OrderSummaryPaymentViewModel model; try { var paymentProvider = PaymentProviderFactory.ResolveProvider(payment.PaymentMethod.PaymentProviderName); model = paymentProvider.BuildOrderSummaryPaymentViewModel(payment, param.CultureInfo); } catch (ArgumentException) { model = new OrderSummaryPaymentViewModel(); } paymentVMs.Add(model); } return(paymentVMs); }
public virtual OrderSummaryPaymentViewModel BuildOrderSummaryPaymentViewModel(Overture.ServiceModel.Orders.Payment payment, CultureInfo cultureInfo) { var creditCartNumber = string.Empty; var expiryDate = string.Empty; var paymentMethodName = string.Empty; if (payment.PaymentMethod.PropertyBag != null) { //TODO : use viewmodelmapper through cartviewmodelfactory ( already exist ) if (payment.PaymentMethod.Type == PaymentMethodType.SavedCreditCard) { if (payment.PaymentMethod.PropertyBag.ContainsKey(SavedCardMask)) { creditCartNumber = payment.PaymentMethod.PropertyBag[SavedCardMask].ToString(); } if (payment.PaymentMethod.PropertyBag.ContainsKey(SavedExpiryDate)) { expiryDate = payment.PaymentMethod.PropertyBag[SavedExpiryDate].ToString(); } if (payment.PaymentMethod.PropertyBag.ContainsKey(SavedCardType)) { paymentMethodName = payment.PaymentMethod.PropertyBag[SavedCardType].ToString(); } } else { if (payment.PaymentMethod.PropertyBag.ContainsKey(CreditCardPaymentProperties.CreditCardNumberLastDigitsKey)) { creditCartNumber = payment.PaymentMethod.PropertyBag[CreditCardPaymentProperties.CreditCardNumberLastDigitsKey].ToString(); } if (payment.PaymentMethod.PropertyBag.ContainsKey(CreditCardPaymentProperties.CreditCardExpiryDateKey)) { expiryDate = payment.PaymentMethod.PropertyBag[CreditCardPaymentProperties.CreditCardExpiryDateKey].ToString(); } if (payment.PaymentMethod.PropertyBag.ContainsKey(CreditCardPaymentProperties.CreditCardBrandKey)) { paymentMethodName = payment.PaymentMethod.PropertyBag[CreditCardPaymentProperties.CreditCardBrandKey].ToString(); } } } DateTime expirationDate; bool hasExpired = false; if (DateTime.TryParse(expiryDate, out expirationDate)) { hasExpired = expirationDate < DateTime.UtcNow; } var paymentVm = new OrderSummaryPaymentViewModel { FirstName = payment.BillingAddress.FirstName, LastName = payment.BillingAddress.LastName, PaymentMethodName = paymentMethodName, CreditCardNumber = creditCartNumber, ExpiryDate = expiryDate, IsExpired = hasExpired }; paymentVm.BillingAddress = CartViewModelFactory.GetAddressViewModel(payment.BillingAddress, cultureInfo); paymentVm.Amount = LocalizationProvider.FormatPrice((decimal)payment.Amount, cultureInfo); return(paymentVm); }