Пример #1
0
        void DeclineGiftVoucherOrder(OrdersDS.OrdersRow order)
        {
            UpdateOrderStatus(order.OrderId, OrderStatus.Canceled);

            GiftVouchers gf = new GiftVouchers();

            OrdersDS.GiftVoucherOrdersRow voucher =
                (OrdersDS.GiftVoucherOrdersRow)gf.GetGiftVoucherByOrder(order.OrderId);

            NameValueCollection dic = new NameValueCollection();

            dic["From"]        = voucher.FirstName + " " + voucher.LastName;
            dic["FromEmail"]   = voucher.Email;
            dic["To"]          = voucher.ToName;
            dic["ToEmail"]     = voucher.ToEmail;
            dic["status"]      = "Declined";
            dic["Amount"]      = string.Format("{0:c}", voucher.Amount);
            dic["VoucherCode"] = voucher.VoucherCode;
            dic["Message"]     = order.Description;

            Mail m = new Mail("Gift-Voucher-Notif");

            m.Data = dic;
            m.Send();
        }
Пример #2
0
        public void ConfirmOrder(string OrderVisualId, bool approved, string avs)
        {
            OrdersDS.OrdersRow order = GetOrder(OrderVisualId);
            AddComment(order.OrderId, avs);

            switch (order.OrderType)
            {
            case (short)OrderType.GiftVoucher:
                if (approved)
                {
                    ConfirmGiftVoucherOrder(order);
                }
                else
                {
                    DeclineGiftVoucherOrder(order);
                }
                break;

            default:
                if (approved)
                {
                    ConfirmProductsOrder(order);
                }
                else
                {
                    DeclineProductsOrder(order);
                }
                break;
            }
        }
Пример #3
0
        public void DeclineProductsOrder(OrdersDS.OrdersRow order)
        {
            UpdateOrderStatus(order.OrderId, OrderStatus.Canceled);
            RejectInventoryChanges(order.OrderId);
            if (order.VoucherCode != "")
            {
                GiftVouchers gf = new GiftVouchers();
                gf.UpdateVoucherStatus(order.VoucherCode, 0);
            }

            NameValueCollection dic = new NameValueCollection();

            dic["OrderId"]       = order.OrderVisualId;
            dic["Status"]        = OrderStatus.Canceled.ToString();
            dic["Name"]          = order.FirstName + " " + order.LastName;
            dic["Email"]         = order.Email;
            dic["Phone"]         = order.Phone;
            dic["Country"]       = order.Country;
            dic["Region"]        = order.Region;
            dic["Address"]       = order.Address;
            dic["ShoppingItems"] = GetShoppingItems(order);
            dic["Description"]   = order.Description;

            dic["Amount"] = string.Format("{0:c}", order.Total);

            Mail m = new Mail("Order-Notification");

            m.Data    = dic;
            m.Subject = "Order Declined";
            m.Send();
        }
Пример #4
0
        public void ConfirmProductsOrder(OrdersDS.OrdersRow order, OrderStatus status)
        {
            UpdateOrderStatus(order.OrderId, status);

            NameValueCollection dic = new NameValueCollection();

            dic["OrderId"]       = order.OrderVisualId;
            dic["Status"]        = status.ToString();
            dic["Name"]          = order.FirstName + " " + order.LastName;
            dic["Email"]         = order.Email;
            dic["Phone"]         = order.Phone;
            dic["Address"]       = order.Address;
            dic["ShoppingItems"] = GetShoppingItems(order);
            dic["Amount"]        = string.Format("{0:c}", order.Total);
            dic["Description"]   = order.Description;
//			dic["ShippingKey"] = string.Format("<p>Shipping Key: {0}</p>", order.ShippingKey);


            Mail m = new Mail("Order-Notification");

            m.Data = dic;
            m.Send();

            m      = new Mail("Order-Confirmation");
            m.To   = order.Email;
            m.Data = dic;
            m.Send();
        }
Пример #5
0
        public void ConfirmOrder(string OrderVisualId)
        {
            OrdersDS.OrdersRow order = GetOrder(OrderVisualId);

            OrderStatus status = GetOrderStatus(order.Status);

            ConfirmProductsOrder(order, status);
        }
Пример #6
0
        public OrdersDS.OrdersRow CreateOrder(
            int MemberId,
            string FirstName,
            string LastName,
            string Phone,
            string Email,
            string Address,
            string City,
            string State,
            string Zip,
            string Country,
            string Region,
            bool ShippingSame,
            string ShippingPhone,
            string ShippingEmail,
            string ShippingAddress,
            string ShippingCity,
            string ShippingState,
            string ShippingZip,
            string ShippingCountry,
            string ShippingRegion,
            decimal SubTotal,
            decimal Total,
            decimal Discount,
            decimal Tax,
            decimal Shipping,
            decimal Handling,
            OrderType oType,
            string Description,
            string VoucherCode,
            decimal VoucherValue,
            string PaymentType,
            decimal PaymentCost, string XmlData)
        {
            OrdersDSTableAdapters.OrdersTableAdapter adp = new lw.Orders.OrdersDSTableAdapters.OrdersTableAdapter();
            OrdersDS.OrdersDataTable dt = adp.CreateOrder("", MemberId, FirstName, LastName, Phone, Email, Address, City, State,
                                                          Zip, Country, Region, ShippingSame, ShippingPhone, ShippingAddress, ShippingCity,
                                                          ShippingState, ShippingZip, ShippingCountry, ShippingRegion,
                                                          DateTime.Now, (int)OrderStatus.Verifying, SubTotal, Total, Discount, Tax,
                                                          Shipping, Handling, short.Parse(((int)oType).ToString()), Description, -1, "", "", VoucherCode, VoucherValue,
                                                          PaymentType, PaymentCost, XmlData);

            OrdersDS.OrdersRow row = (OrdersDS.OrdersRow)dt.Rows[0];

            Random ran = new Random();

            string orderNbr = (row.OrderId * Math.Floor((double)ran.Next(1, 15))).ToString();

            orderNbr = Math.Pow(10, 10 - orderNbr.Length).ToString().Substring(1) + orderNbr;

            string[] temp = System.Guid.NewGuid().ToString().Split('-');

            row.OrderVisualId = temp[0] + "-" + temp[1] + "-" + temp[2];            //string.Format("ORD{0}", orderNbr);

            adp.Update(row);

            return(row);
        }
Пример #7
0
        public string GetShoppingItems(OrdersDS.OrdersRow order)
        {
            lw.ShoppingCart.ShoppingDsTableAdapters.ShoppingItemsTableAdapter adp = new lw.ShoppingCart.ShoppingDsTableAdapters.ShoppingItemsTableAdapter();

            StringBuilder sb = new StringBuilder();

            ShoppingDs.ShoppingItemsDataTable shoppingItems = adp.GetDataByOrder(order.OrderId);

            sb.Append("<table width=500 border=1 cellpadding=3>");
            sb.Append("<tr style=\"font-weight:bold\"><td>Product</td><td>Quantity</td><td>Unit Price</td><td>Sub Total</td></tr>");

            bool alter = false;

            foreach (ShoppingDs.ShoppingItemsRow item in shoppingItems)
            {
                sb.Append(string.Format(
                              "<tr bgcolor={0}><td>{1}<BR /># {2}<BR>{3}</td><td>{4}<BR />{6}</td><td>{5}</td><td>{7}</td></tr>",
                              alter ? "#ffffff" : "#efefef",
                              item.Title, item.ItemNumber, item.Description,
                              item.Quantity, string.Format("{0:##,###0.00} SAR", item.UnitPrice),
                              item.PriceFor,
                              string.Format("{0:##,###0.00} SAR", item.Quantity * item.UnitPrice)
                              )
                          );
                alter = !alter;
            }

            sb.Append("<tr><td colspan=4 align=right>");
            sb.Append(string.Format("Sub Total: {0:##,###0.00} SAR<br />", order.SubTotal));
            sb.Append(string.Format("Shipping: {0:##,###0.00} SAR<br />", order.Shipping));
            sb.Append(string.Format("Handling: {0:##,###0.00} SAR<br />", order.Handling));
            if (order.Discount > 0)
            {
                sb.Append(string.Format("Discount: {0:##,###0.00} SAR<br />", order.SubTotal));
            }
            if (order.VoucherValue != 0)
            {
                sb.Append(string.Format("Voucher Code Value: {0:##,###0.00} SAR<br />", order.VoucherValue));
            }
            string paymentName = "";

            lw.Payments.Payment payment = lw.Payments.Payments.GetPayment(order.PaymentType);
            if (payment != null)
            {
                paymentName = payment.DisplayName;
            }

            sb.Append(string.Format("Payment Type: {0}<br />", paymentName));
            sb.Append(string.Format("Payment Cost: {0:##,###0.00} SAR<br />", order.PaymentCost));
            sb.Append(string.Format("<b>Order Total: {0:##,###0.00} SAR</b><br />", order.Total));

            sb.Append("</td></tr></table>");

            return(sb.ToString());
        }
Пример #8
0
        public string CreateGiftVoucherOrder(int MemberId, string FromFirstName, string FromLastName, string FromEmail, string ToName, string ToEmail, decimal Amount, string Comments)
        {
            GiftVouchers gv      = new GiftVouchers();
            DataTable    voucher = gv.CreateVoucher(Amount);

            string desc = Comments;

            OrdersDS.OrdersRow row = this.CreateOrder(MemberId, FromFirstName, FromLastName, "", FromEmail, "", "", "", "", "", "", false,
                                                      "", "", "", "", "", "", "", "", Amount, Amount, 0, 0, 0, 0, OrderType.GiftVoucher, desc, "", 0, "", 0);

            gv.UpdateVoucher(Int32.Parse(voucher.Rows[0]["VoucherId"].ToString()), ToName, ToEmail, row.OrderId);

            return(row.OrderVisualId);
        }
Пример #9
0
        void ConfirmGiftVoucherOrder(OrdersDS.OrdersRow order)
        {
            UpdateOrderStatus(order.OrderId, OrderStatus.Shipped);


            GiftVouchers gf = new GiftVouchers();

            OrdersDS.GiftVoucherOrdersRow voucher =
                (OrdersDS.GiftVoucherOrdersRow)gf.GetGiftVoucherByOrder(order.OrderId);
            try
            {
                NameValueCollection dic = new NameValueCollection();
                dic["From"]        = voucher.FirstName + " " + voucher.LastName;
                dic["FromEmail"]   = voucher.Email;
                dic["To"]          = voucher.ToName;
                dic["ToEmail"]     = voucher.ToEmail;
                dic["status"]      = "Verified";
                dic["Amount"]      = string.Format("{0:c}", voucher.Amount);
                dic["VoucherCode"] = voucher.VoucherCode;
                dic["Message"]     = order.Description;

                Mail m = new Mail("Gift-Voucher-Notif");
                m.Data = dic;
                m.Send();

                m         = new Mail("Gift Card Receiver");
                m.To      = dic["ToEmail"].ToString();
                m.Subject = m.Subject.Replace("{FromName}", dic["From"].ToString());
                m.Data    = dic;
                m.Send();

                m      = new Mail("Gift Card Sender");
                m.To   = dic["FromEmail"].ToString();
                m.Data = dic;
                m.Send();
            }
            catch
            {
            }
        }
Пример #10
0
 public void ConfirmProductsOrder(OrdersDS.OrdersRow order)
 {
     ConfirmProductsOrder(order, OrderStatus.ReadyForShipping);
 }
Пример #11
0
 public void AddComment(int OrderId, string Comments)
 {
     OrdersDSTableAdapters.OrdersTableAdapter adp = new lw.Orders.OrdersDSTableAdapters.OrdersTableAdapter();
     OrdersDS.OrdersRow order = GetOrder(OrderId);
     adp.UpdateComments(order.Comments + "{sep}" + Comments, OrderId);
 }
Пример #12
0
        public override void DataBind()
        {
            if (bound)
            {
                return;
            }
            bound = true;

            int orderId = (int)DataBinder.Eval(NamingContainer, "DataItem.OrderId");

            OrdersManager oMgr = new OrdersManager();

            OrdersDS.OrdersRow order = oMgr.GetOrder(orderId);

            ShoppingItemsTableAdapter adp = new ShoppingItemsTableAdapter();

            StringBuilder sb = new StringBuilder();

            ShoppingDs.ShoppingItemsDataTable shoppingItems = adp.GetDataByOrder(orderId);

            HtmlTableRow header = new HtmlTableRow();

            header.Attributes["class"] = "header";

            HtmlTableCell cell = new HtmlTableCell();

            cell.InnerHtml = "Product";
            header.Cells.Add(cell);

            cell           = new HtmlTableCell();
            cell.InnerHtml = "Quantity";
            header.Cells.Add(cell);

            cell           = new HtmlTableCell();
            cell.InnerHtml = "Unit Price";
            cell.Align     = "right";
            header.Cells.Add(cell);

            cell           = new HtmlTableCell();
            cell.InnerHtml = "Sub Total";
            cell.Align     = "right";
            header.Cells.Add(cell);

            this.Rows.Add(header);

            bool alter = false;

            foreach (ShoppingDs.ShoppingItemsRow item in shoppingItems)
            {
                HtmlTableRow row = new HtmlTableRow();
                row.Attributes["class"] = alter ? "alter" : "";
                string temp = string.Format(
                    "{0}<BR /># {1}<BR>{2}",
                    item.Title, item.ItemNumber, item.Description
                    );
                cell           = new HtmlTableCell();
                cell.InnerHtml = temp;
                row.Cells.Add(cell);

                cell           = new HtmlTableCell();
                cell.InnerHtml = item.Quantity.ToString();
                row.Cells.Add(cell);

                cell           = new HtmlTableCell();
                cell.Align     = "right";
                cell.InnerHtml = string.Format(" {0:##,###0.00} SAR", item.UnitPrice);
                row.Cells.Add(cell);

                cell           = new HtmlTableCell();
                cell.Align     = "right";
                cell.InnerHtml = string.Format(" {0:##,###0.00} SAR", (item.UnitPrice * item.Quantity));
                row.Cells.Add(cell);

                alter = !alter;
                Rows.Add(row);
            }

            HtmlTableRow footer = new HtmlTableRow();

            footer.Attributes["class"] = "footer";
            HtmlTableCell footerCell = new HtmlTableCell();

            footerCell.ColSpan = 5;

            sb.Append(string.Format("Sub Total:  {0:##,###0.00} SAR<br />", order.SubTotal));
            sb.Append(string.Format("Shipping:  {0:##,###0.00} SAR<br />", order.Shipping));
            sb.Append(string.Format("Handling:  {0:##,###0.00} SAR<br />", order.Handling));
            if (order.Discount > 0)
            {
                sb.Append(string.Format("Discount:  {0:##,###0.00} SAR<br />", order.SubTotal));
            }
            if (order.VoucherValue != 0)
            {
                sb.Append(string.Format("Voucher Code Value:  {0:##,###0.00} SAR<br />", order.VoucherValue));
            }
            string paymentName = "";

            lw.Payments.Payment payment = lw.Payments.Payments.GetPayment(order.PaymentType);
            if (payment != null)
            {
                paymentName = payment.DisplayName;
            }

            sb.Append(string.Format("Payment Type: {0}<br />", paymentName));
            sb.Append(string.Format("Payment Cost:  {0:##,###0.00} SAR<br />", order.PaymentCost));
            sb.Append(string.Format("<b>Order Total:  {0:##,###0.00} SAR</b><br />", order.Total));

            footerCell.InnerHtml = sb.ToString();
            footer.Cells.Add(footerCell);

            Rows.Add(footer);

            base.DataBind();
        }