private InvoiceData ToModel(InvoiceEntity entity) { return(new InvoiceData() { StoreId = entity.StoreId, ExpirationTime = entity.ExpirationTime, MonitoringExpiration = entity.MonitoringExpiration, CreatedTime = entity.InvoiceTime, Amount = entity.Price, Type = entity.Type, Id = entity.Id, CheckoutLink = _linkGenerator.CheckoutLink(entity.Id, Request.Scheme, Request.Host, Request.PathBase), Status = entity.Status.ToModernStatus(), AdditionalStatus = entity.ExceptionStatus, Currency = entity.Currency, Metadata = entity.Metadata.ToJObject(), Checkout = new CreateInvoiceRequest.CheckoutOptions() { Expiration = entity.ExpirationTime - entity.InvoiceTime, Monitoring = entity.MonitoringExpiration - entity.ExpirationTime, PaymentTolerance = entity.PaymentTolerance, PaymentMethods = entity.GetPaymentMethods().Select(method => method.GetId().ToStringNormalized()).ToArray(), SpeedPolicy = entity.SpeedPolicy, DefaultLanguage = entity.DefaultLanguage, RedirectAutomatically = entity.RedirectAutomatically, RedirectURL = entity.RedirectURLTemplate } }); }
private InvoiceData ToModel(InvoiceEntity entity) { var statuses = new List <InvoiceStatus>(); var state = entity.GetInvoiceState(); if (state.CanMarkComplete()) { statuses.Add(InvoiceStatus.Settled); } if (state.CanMarkInvalid()) { statuses.Add(InvoiceStatus.Invalid); } return(new InvoiceData() { StoreId = entity.StoreId, ExpirationTime = entity.ExpirationTime, MonitoringExpiration = entity.MonitoringExpiration, CreatedTime = entity.InvoiceTime, Amount = entity.Price, Type = entity.Type, Id = entity.Id, CheckoutLink = _linkGenerator.CheckoutLink(entity.Id, Request.Scheme, Request.Host, Request.PathBase), Status = entity.Status.ToModernStatus(), AdditionalStatus = entity.ExceptionStatus, Currency = entity.Currency, Archived = entity.Archived, Metadata = entity.Metadata.ToJObject(), AvailableStatusesForManualMarking = statuses.ToArray(), Checkout = new CreateInvoiceRequest.CheckoutOptions() { Expiration = entity.ExpirationTime - entity.InvoiceTime, Monitoring = entity.MonitoringExpiration - entity.ExpirationTime, PaymentTolerance = entity.PaymentTolerance, PaymentMethods = entity.GetPaymentMethods().Select(method => method.GetId().ToStringNormalized()).ToArray(), DefaultPaymentMethod = entity.DefaultPaymentMethod, SpeedPolicy = entity.SpeedPolicy, DefaultLanguage = entity.DefaultLanguage, RedirectAutomatically = entity.RedirectAutomatically, RequiresRefundEmail = entity.RequiresRefundEmail, RedirectURL = entity.RedirectURLTemplate } }); }