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();
        }
        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;
            }
        }
        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();
        }
        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();
        }
        public void ConfirmOrder(string OrderVisualId)
        {
            OrdersDS.OrdersRow order = GetOrder(OrderVisualId);

            OrderStatus status = GetOrderStatus(order.Status);

            ConfirmProductsOrder(order, status);
        }
        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);
        }
        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());
        }
        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);
        }
        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
            {
            }
        }
Exemple #10
0
 public void ConfirmProductsOrder(OrdersDS.OrdersRow order)
 {
     ConfirmProductsOrder(order, OrderStatus.ReadyForShipping);
 }
Exemple #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);
 }
Exemple #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();
        }