コード例 #1
0
ファイル: OrdersController.cs プロジェクト: crazyants/core-1
        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);
        }
コード例 #2
0
        // 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;
            }
        }