예제 #1
0
        protected void dgList_ItemDataBound(object sender, DataGridItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
            {
                var t = (OrderTransaction)e.Item.DataItem;
                if (t == null)
                {
                    return;
                }

                var litTimeStamp    = e.Item.FindControl("litTimeStamp") as Literal;
                var litOrderNumber  = e.Item.FindControl("litOrderNumber") as Literal;
                var litDescription  = e.Item.FindControl("litDescription") as Literal;
                var litAmount       = e.Item.FindControl("litAmount") as Literal;
                var litCustomerName = e.Item.FindControl("litCustomerName") as Literal;

                if (litTimeStamp != null)
                {
                    litTimeStamp.Text =
                        TimeZoneInfo.ConvertTimeFromUtc(t.TimeStampUtc, HccApp.CurrentStore.Settings.TimeZone)
                        .ToShortTimeString();
                }

                if (litOrderNumber != null)
                {
                    litOrderNumber.Text = t.OrderNumber;
                }

                if (litDescription != null)
                {
                    var paymentMethod = PaymentMethods.Find(t.MethodId);
                    var methodName    = paymentMethod != null ? paymentMethod.MethodName : string.Empty;
                    litDescription.Text = LocalizationUtils.GetActionType(t.Action, methodName);
                }

                if (litAmount != null)
                {
                    litAmount.Text = t.AmountAppliedToOrder.ToString("C");
                }

                if (litCustomerName != null)
                {
                    litCustomerName.Text = "<strong>" + t.TempCustomerName + "</strong><br /><span class=\"tiny\">" +
                                           t.TempCustomerEmail + "</span>";
                }
                TotalSub           += t.TempEstimatedItemPortion;
                TotalDiscounts     += t.TempEstimatedItemDiscount;
                TotalShip          += t.TempEstimatedShippingPortion;
                TotalShipDiscounts += t.TempEstimatedShippingDiscount;
                TotalTax           += t.TempEstimatedTaxPortion;
                TotalGrand         += t.AmountAppliedToOrder;
            }
            else
            {
                if (e.Item.ItemType == ListItemType.Footer)
                {
                    e.Item.Cells[1].Text = Localization.GetString("Totals");

                    e.Item.Cells[2].Text = string.Format("{0:C}", TotalSub);
                    e.Item.Cells[3].Text = string.Format("{0:C}", TotalDiscounts);
                    e.Item.Cells[4].Text = string.Format("{0:C}", TotalShip);
                    e.Item.Cells[5].Text = string.Format("{0:C}", TotalShipDiscounts);
                    e.Item.Cells[6].Text = string.Format("{0:C}", TotalTax);
                    e.Item.Cells[7].Text = string.Format("{0:C}", TotalGrand);
                }
            }
        }
        private void RenderTransaction(OrderTransaction t, StringBuilder sb, TimeZoneInfo timezone, bool showCardNumbers)
        {
            sb.Append("<div class=\"controlarea1");
            if (t.Voided)
            {
                sb.Append(" transactionvoided");
            }
            else
            {
                if (t.Success)
                {
                    sb.Append(" transactionsuccess");
                }
                else
                {
                    sb.Append(" transactionfailed");
                }
            }
            sb.Append("\"><div style=\"overflow:auto;width:100%;\">");

            if (t.Voided)
            {
                sb.Append("VOIDED<br />");
            }
            sb.Append(t.Amount.ToString("c") + " - ");

            var paymentMethod = PaymentMethods.Find(t.MethodId);
            var methodName    = paymentMethod != null ? paymentMethod.MethodName : string.Empty;
            var methodInfo    = LocalizationUtils.GetActionType(t.Action, methodName);

            sb.Append(methodInfo + "<br />");
            sb.Append(TimeZoneInfo.ConvertTimeFromUtc(t.TimeStampUtc, timezone) + "<br />");
            if (t.Success)
            {
                sb.Append("OK<br />");
            }
            else
            {
                sb.Append("FAILED<br />");
            }
            if (t.Action == ActionType.PurchaseOrderInfo || t.Action == ActionType.PurchaseOrderAccepted)
            {
                sb.Append("PO # " + t.PurchaseOrderNumber + "<br />");
            }
            if (t.Action == ActionType.CheckReceived || t.Action == ActionType.CheckReturned)
            {
                sb.Append("Check # " + t.CheckNumber + "<br />");
            }
            if (ActionTypeUtils.IsCreditCardTransaction(t.Action))
            {
                if (t.CreditCard.IsCardNumberValid())
                {
                    if (showCardNumbers)
                    {
                        sb.Append(t.CreditCard.CardTypeName + " " + t.CreditCard.CardNumber + "<br />");
                    }
                    else
                    {
                        sb.Append(t.CreditCard.CardTypeName + " xxxx-xxxx-xxxx-" + t.CreditCard.CardNumberLast4Digits +
                                  "<br />");
                    }
                    sb.Append("exp: " + t.CreditCard.ExpirationMonth + "/" + t.CreditCard.ExpirationYear + "<br />");
                }
                else
                {
                    sb.Append("Unknown or Invalid Card Number Entered" + "<br/>");
                }
            }
            if (ActionTypeUtils.IsGiftCardTransaction(t.Action))
            {
                sb.Append("Gift Card " + t.GiftCard.CardNumber + "<br />");
            }
            if (!string.IsNullOrEmpty(t.RefNum1))
            {
                sb.Append("Ref#: " + t.RefNum1 + "<br />");
            }
            if (!string.IsNullOrEmpty(t.RefNum2))
            {
                sb.Append("Ref2#: " + t.RefNum2 + "<br />");
            }
            if (!string.IsNullOrEmpty(t.RMABvin))
            {
                sb.Append("RMA: " + t.RMABvin + "<br />");
            }
            sb.Append(t.Messages);
            sb.Append("</div></div>");
        }