public Order Get(string id) { var data = HccApp.OrderServices.Orders.FindForCurrentStore(id); if (data != null) { var order = HccApp.OrderServices.Orders.FindForCurrentStore(data.bvin); var payManager = new OrderPaymentManager(order, HccApp); var auths = payManager.CreditCardHoldListAll(); var paySummary = HccApp.OrderServices.PaymentSummary(order); return(new Order { OrderId = data.bvin, OrderDate = DateHelper.ConvertUtcToStoreTime(HccApp, data.TimeOfOrderUtc), CustomerName = string.Format("{0} {1}", data.BillingAddress.FirstName, data.BillingAddress.LastName), CustomerEmail = data.UserEmail, CustomerPhone = data.BillingAddress.Phone, TotalDiscounts = TotalOrderDiscounts(data), Total = data.TotalGrand, OrderNumber = data.OrderNumber, StatusCode = data.StatusName, PaymentStatus = data.PaymentStatus.ToString(), ShippingStatus = data.ShippingStatus.ToString(), ShippingPrice = data.TotalShippingBeforeDiscounts, Tax = data.TotalTax, Items = data.Items.Select(i => new OrderItem { ProductName = i.ProductName, PricePerItem = i.BasePricePerItem, Quantity = i.Quantity }).ToList(), PendingHolds = auths.Select(a => new HoldTransaction { CardInfo = a.CreditCard.CardTypeName + "-" + a.CreditCard.CardNumberLast4Digits + " - " + a.Amount.ToString("c"), TransactionId = a.IdAsString }).ToList(), SpecialInstructions = data.Instructions, PaymentAmountAuthorized = paySummary.AmountAuthorized, PaymentAmountCharged = paySummary.AmountCharged, PaymentAmountRefunded = paySummary.AmountRefunded, PaymentAmountDue = paySummary.AmountDue }); } return(null); }
// Credit Cards private void LoadCreditCardLists() { // List Auths for Collection List <OrderTransaction> auths = payManager.CreditCardHoldListAll(); this.lstCreditCardAuths.Items.Clear(); if (auths.Count < 1) { this.lstCreditCardAuths.Items.Add(new ListItem("No Pending Holds", "")); this.lnkCreditCardCaptureAuth.Enabled = false; this.lnkCreditCardVoidAuth.Enabled = false; } else { foreach (OrderTransaction t in auths) { this.lstCreditCardAuths.Items.Add(new ListItem(t.CreditCard.CardTypeName + "-" + t.CreditCard.CardNumberLast4Digits + " - " + t.Amount.ToString("c"), t.IdAsString)); } this.lnkCreditCardCaptureAuth.Enabled = true; this.lnkCreditCardVoidAuth.Enabled = true; } // List charges for refunds List <OrderTransaction> charges = payManager.CreditCardChargeListAllRefundable(); this.lstCreditCardCharges.Items.Clear(); if (charges.Count < 1) { this.lstCreditCardCharges.Items.Add(new ListItem("No Charges to Refund", "")); this.lnkCreditCardRefund.Enabled = false; } else { foreach (OrderTransaction t in charges) { this.lstCreditCardCharges.Items.Add(new ListItem(t.CreditCard.CardTypeName + "-" + t.CreditCard.CardNumberLast4Digits + " - " + t.Amount.ToString("c"), t.IdAsString)); } this.lnkCreditCardRefund.Enabled = true; } // Load Cards for Charges and Auths List <OrderTransaction> cards = payManager.CreditCardInfoListAll(); this.lstCreditCards.Items.Clear(); if (cards.Count < 1) { this.lstCreditCards.Items.Add(new ListItem("No Saved Cards", "")); this.lnkCreditCardCharge.Enabled = false; } else { foreach (OrderTransaction t in cards) { this.lstCreditCards.Items.Add(new ListItem(t.CreditCard.CardTypeName + "-" + t.CreditCard.CardNumberLast4Digits + " " + t.CreditCard.ExpirationMonth + "/" + t.CreditCard.ExpirationYearTwoDigits, t.IdAsString)); } this.lnkCreditCardCharge.Enabled = true; } }