public MemberInvoice ConvertToMemberInvoice(InvoiceModel invoiceModel) { MemberInvoiceStatus status; if (!Enum.TryParse(invoiceModel.Status, true, out status)) { LoggerHelper.Error("ConvertToMemberInvoice - InvoiceProvider: InvoiceStatus parse error"); } MemberInvoiceType type; if (!Enum.TryParse(invoiceModel.Type, true, out type)) { LoggerHelper.Error("ConvertToMemberInvoice - InvoiceProvider: InvoiceType parse error"); } var memberInvoice = new MemberInvoice { Address = null != invoiceModel.Address ? ConvertToMemberInvoiceAddress(invoiceModel.Address) : null, CreatedDate = invoiceModel.CreatedDate, CustomerId = invoiceModel.CustomerId, Email = invoiceModel.Email, FirstName = invoiceModel.FirstName, LastName = invoiceModel.LastName, Id = invoiceModel.Id, InvoiceDate = invoiceModel.InvoiceDate, InvoiceType = type, MemberId = invoiceModel.MemberId.ToUpper(), MemberInvoiceNumber = invoiceModel.MemberInvoiceNumber, Notes = invoiceModel.Notes, OrderId = invoiceModel.OrderId, Phone = invoiceModel.Phone, Price = invoiceModel.InvoicePrice != null?ConvertToMemberInvoicePrice(invoiceModel.InvoicePrice) : null, Items = invoiceModel.InvoiceLines != null && invoiceModel.InvoiceLines.Any() ? ConvertToMemberInvoiceItems(invoiceModel.InvoiceLines, invoiceModel.Id) : null, Status = status, ShippingMethod = invoiceModel.ShippingMethod, OrderSource = invoiceModel.OrderSource, PriceType = invoiceModel.PricingType, Source = invoiceModel.Source, InvoiceShipToAddress = invoiceModel.InvoiceShipToAddress, IsFaceToFace = invoiceModel.IsFaceToFace, ApplicationCountryCode = invoiceModel.ApplicationCountryCode, IsPurchased = invoiceModel.isPurchased, IsProfitable = invoiceModel.isProfitable, ReceiptChannel = convertReceiptChannel(invoiceModel.ReceiptChannel), PaymentType = invoiceModel.PaymentType }; return(memberInvoice); }
public InvoiceModel ConvertToInvoiceModel(MemberInvoice memberInvoice, string locale) { var invoiceConverter = new InvoiceConverter(); var invoiceLoader = new InvoiceLoader(invoiceConverter); var invoiceProvider = new InvoiceProvider(invoiceLoader, invoiceLoader, invoiceConverter); return(new InvoiceModel { Address = memberInvoice.Address != null?ConvertToInvoiceAddress(memberInvoice.Address) : null, CreatedDate = memberInvoice.CreatedDate, CustomerId = memberInvoice.CustomerId, Email = memberInvoice.Email, MemberInvoiceNumber = memberInvoice.MemberInvoiceNumber, FirstName = memberInvoice.FirstName, LastName = memberInvoice.LastName, Id = memberInvoice.Id, InvoiceDate = memberInvoice.InvoiceDate, Phone = memberInvoice.Phone, OrderId = memberInvoice.OrderId, Status = memberInvoice.Status.ToString(), Total = memberInvoice.Price != null ? memberInvoice.Price.TotalDue : 0, DisplayTotal = memberInvoice.Price != null?memberInvoice.Price.TotalDue.FormatPrice() : "0.00", Notes = memberInvoice.Notes, MemberId = memberInvoice.MemberId.ToUpper(), TotalVolumePoints = memberInvoice.Price != null ? memberInvoice.Price.TotalVolumePoints : 0, Type = memberInvoice.InvoiceType.ToString(), ShippingMethod = memberInvoice.ShippingMethod, InvoiceShipToAddress = memberInvoice.InvoiceShipToAddress, PricingType = memberInvoice.PriceType, OrderSource = memberInvoice.OrderSource, Source = memberInvoice.Source, ReceiptChannel = memberInvoice.ReceiptChannel, DisplayReceiptChannel = invoiceProvider.GetDisplayReceiptChannel(locale, memberInvoice.ReceiptChannel.ToString()), IsFaceToFace = memberInvoice.IsFaceToFace, InvoicePrice = memberInvoice.Price != null?ConvertToInvoicePrice(memberInvoice.Price) : null, IsGdoMemberPricing = memberInvoice.InvoiceType.ToString() == "Distributor", Vat = (string.IsNullOrEmpty(memberInvoice.Vat) && locale.Substring(3) == "GB") ? (string) HttpContext.GetLocalResourceObject("/Views/Invoice/Display.cshtml", "VatEmptyValue", CultureInfo.CurrentCulture) : memberInvoice.Vat, ApplicationCountryCode = memberInvoice.ApplicationCountryCode, DisplayInvoiceStatus = invoiceProvider.GetDisplayInvoiceStatus(locale, memberInvoice.Status.ToString()), DisplayPaymentType = invoiceProvider.GetDisplayPaymentType(locale, memberInvoice.PaymentType.ToString()), DisplayInvoiceType = invoiceProvider.GetDisplayInvoiceType(locale, memberInvoice.InvoiceType.ToString()), isProfitable = memberInvoice.IsProfitable, isPurchased = memberInvoice.IsPurchased, PaymentType = memberInvoice.PaymentType, }); }