/// <summary>
        /// Pays the specified order with a fictitious response.
        /// </summary>
        /// <param name="response">Fictitious response about payment.</param>
        private void Validate(ResponseViewModel response)
        {
            //DocSection:PaymentValidation
            if (response != null)
            {
                // Gets the order based on the invoice number from the response
                OrderInfo order = OrderInfoProvider.GetOrderInfo(response.InvoiceNo);
                if (order?.OrderSiteID != SiteContext.CurrentSiteID)
                {
                    order = null;
                }

                // Checks whether the paid amount of money matches the order price
                // and whether the payment was approved
                if (order != null && response.Amount == order.OrderTotalPrice && response.Approved)
                {
                    // Creates a payment result object that will be viewable in Kentico
                    PaymentResultInfo result = new PaymentResultInfo
                    {
                        PaymentDate          = DateTime.Now,
                        PaymentDescription   = response.Message,
                        PaymentIsCompleted   = response.Completed,
                        PaymentTransactionID = response.TransactionID,
                        PaymentStatusValue   = response.ResponseCode,
                        PaymentMethodName    = "PaymentName"
                    };

                    // Saves the payment result to the database
                    order.UpdateOrderStatus(result);
                }
            }
            //EndDocSection:PaymentValidation
        }
Пример #2
0
    protected void RptCommandeItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            var itemRepeater = e.Item.FindControl("rptItem") as Repeater;
            if (itemRepeater != null)
            {
                var commande = (DataRowView)e.Item.DataItem;
                if (commande != null)
                {
                    var commandeId = (int)commande["OrderID"];
                    var filtre     = String.Format("OrderItemOrderID = {0}", commandeId);
                    var dsItem     = OrderItemInfoProvider.GetOrderItems(filtre, "", 100, "");
                    itemRepeater.DataSource = dsItem.Tables[0];
                    itemRepeater.DataBind();
                    // OrderItemInfo oii = new OrderItemInfo();

                    var orderInfo = OrderInfoProvider.GetOrderInfo(commandeId);
                    var status    = orderInfo.GetValue("OrderStatus") != null ? (string)orderInfo.GetValue("OrderStatus") :
                                    String.Empty;
                    if (status == "0")
                    {
                        var button = e.Item.FindControl("lnkPayer") as LinkButton;
                        if (button != null)
                        {
                            button.Visible = true;
                        }
                    }
                }
            }
        }
    }
    private void DeleteOrder()
    {
        // Prepare the parameters
        //string where = "CustomerLastName LIKE N'My New Registered%'";
        CustomerInfo customer = null;

        // Get the customer
        DataSet customers = CustomerInfoProvider.GetCustomers(null, null);

        if (!DataHelper.DataSourceIsEmpty(customers))
        {
            // Create object from DataRow
            customer = new CustomerInfo(customers.Tables[0].Rows[0]);
        }

        if (customer != null)
        {
            //  string whereOrder = "OrderCustomerID='" + customer.CustomerID + "'";

            // Get the order
            DataSet orders = OrderInfoProvider.GetOrders(null, null);
            if (!DataHelper.DataSourceIsEmpty(orders))
            {
                // Create object from DataRow
                //  OrderInfo order = new OrderInfo(orders.Tables[0].Rows[0]);
                foreach (DataRow userDr in orders.Tables[0].Rows)
                {
                    OrderInfo order = new OrderInfo(userDr);
                    // Delete the order
                    OrderInfoProvider.DeleteOrderInfo(order);
                }
            }
        }
    }
Пример #4
0
 public ActionResult Collection(string shoukuanid, string shoukuanshijian, string shoukuanxiangqing)
 {
     if (!string.IsNullOrEmpty(shoukuanid))
     {
         var userprovider = new UserLoginProvider();
         var _user        = userprovider.GetUser(User.Identity.Name);
         if (_user.RuleType.Equals(RuleTypeEnum.Agents.ToString()) || _user.RuleType.Equals(RuleTypeEnum.Admin.ToString()))
         {
             var orderprovider = new OrderInfoProvider();
             var order         = orderprovider.GetOrderInfoById(Convert.ToInt16(shoukuanid));
             if (order != null && order.PayStatus < (int)OrderPayStatusEnum.Recivied)
             {
                 var alog = new SysActionLog();
                 alog.ActionDate = Convert.ToDateTime(shoukuanshijian);
                 alog.ActionDesc = shoukuanxiangqing.Trim();
                 alog.LogType    = (int)ActionLogTypeEnum.PayAction;
                 alog.OrderId    = order.Id;
                 alog.UserId     = _user.Id;
                 alog.CreateDate = DateTime.Now;
                 alog.IsDelete   = false;
                 var i = DALFactory.ActionLogDao.Insert(alog);
                 if (i > 0)
                 {
                     order.PayStatus = (int)OrderPayStatusEnum.Recivied;
                     orderprovider.UpdateOrderInfo(order);
                 }
             }
         }
     }
     return(Content("ok"));
 }
    protected void Page_Load(object sender, EventArgs e)
    {
        // Register the dialog script
        ScriptHelper.RegisterClientScriptBlock(this, typeof(string), ScriptHelper.NEWWINDOW_SCRIPT_KEY, ScriptHelper.NewWindowScript);

        lblInvoiceNumber.Text = GetString("order_invoice.lblInvoiceNumber");
        btnGenerate.Text      = GetString("order_invoice.btnGenerate");
        btnPrintPreview.Text  = GetString("order_invoice.btnPrintPreview");

        if (QueryHelper.GetInteger("orderid", 0) != 0)
        {
            orderId = QueryHelper.GetInteger("orderid", 0);
        }
        order = OrderInfoProvider.GetOrderInfo(orderId);

        if (order == null)
        {
            btnGenerate.Enabled     = false;
            btnPrintPreview.Enabled = false;
            return;
        }
        else
        {
            // Check order site ID
            CheckOrderSiteID(order.OrderSiteID);
        }

        ltlScript.Text = ScriptHelper.GetScript("function showPrintPreview() { NewWindow('Order_Edit_InvoicePrint.aspx?orderid=" + orderId + "', 'InvoicePrint', 650, 700);}");

        if (!RequestHelper.IsPostBack())
        {
            txtInvoiceNumber.Text = order.OrderInvoiceNumber;
            lblInvoice.Text       = URLHelper.MakeLinksAbsolute(order.OrderInvoice);
        }
    }
Пример #6
0
        public ActionResult EditOrder(string orderId, string sjjg, string hwsjzl, string hwsjtjzl, string ddsjjg, string csjzl, string csjjg)
        {
            if (!string.IsNullOrEmpty(orderId))
            {
                var orderPrivder = new OrderInfoProvider();
                var order        = orderPrivder.GetOrderInfoById(Convert.ToInt64(orderId));
                if (order != null)
                {
                    order.OrderRealPrice = Convert.ToDecimal(sjjg);
                    order.Status         = (int)OrderStatusEnum.Processed;
                    var i = orderPrivder.UpdateOrderInfo(order);
                    if (i > 0)
                    {
                        var addressinfo = orderPrivder.GetAddressInfoByOid(order.Id);
                        if (addressinfo != null)
                        {
                            addressinfo.GoodsRealWeight   = Convert.ToDecimal(hwsjzl);
                            addressinfo.GoodsVolumeWeight = Convert.ToDecimal(hwsjtjzl);
                            addressinfo.AddressRealPrice  = Convert.ToDecimal(ddsjjg);
                            orderPrivder.UpdateAddressInfo(addressinfo);
                        }

                        var rec = orderPrivder.GetReceiverInfo(order.Id);
                        if (rec != null)
                        {
                            rec.RealWeight = Convert.ToDecimal(csjzl);
                            rec.RealPrice  = Convert.ToDecimal(csjjg);
                            orderPrivder.UpdateReceiverInfo(rec);
                        }
                    }
                }
            }
            return(Content("ok"));
        }
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

        // Set edit mode
        orderId = QueryHelper.GetInteger("orderId", 0);
        if (orderId > 0)
        {
            OrderInfo oi = OrderInfoProvider.GetOrderInfo(orderId);

            if (oi != null)
            {
                // Check order site ID
                CheckOrderSiteID(oi.OrderSiteID);
            }

            formOrderCustomFields.Info = oi;
            EditedObject = formOrderCustomFields.Info;
            formOrderCustomFields.OnAfterValidate += formOrderCustomFields_OnAfterValidate;
            formOrderCustomFields.OnAfterSave     += formOrderCustomFields_OnAfterSave;
        }
        else
        {
            formOrderCustomFields.Enabled = false;
        }
    }
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

        if (!CMSContext.CurrentUser.IsAuthorizedPerUIElement("CMS.Ecommerce", "Orders.CustomFields"))
        {
            RedirectToCMSDeskUIElementAccessDenied("CMS.Ecommerce", "Orders.CustomFields");
        }

        // set edit mode
        orderId = QueryHelper.GetInteger("orderId", 0);
        if (orderId > 0)
        {
            OrderInfo oi = OrderInfoProvider.GetOrderInfo(orderId);

            if (oi != null)
            {
                // Check order site ID
                CheckOrderSiteID(oi.OrderSiteID);
            }

            formOrderCustomFields.Info = oi;
            EditedObject = formOrderCustomFields.Info;
            formOrderCustomFields.OnBeforeSave += formOrderCustomFields_OnBeforeSave;
            formOrderCustomFields.OnAfterSave  += formOrderCustomFields_OnAfterSave;
        }
        else
        {
            formOrderCustomFields.Enabled = false;
        }
    }
Пример #9
0
        protected void btnProcessPayment_Click(object sender, EventArgs e)
        {
            if ((PaymentGatewayProvider != null) && (orderId > 0))
            {
                OrderInfo order = OrderInfoProvider.GetOrders()
                                  .WhereEquals("OrderID", orderId)
                                  .FirstObject;

                CustomerInfo customer = CustomerInfoProvider.GetCustomers()
                                        .WhereEquals("CustomerID", order.OrderCustomerID)
                                        .FirstObject;

                //AddressInfo address = AddressInfoProvider.GetAddresses()
                //    .WhereEquals("AddressCustomerID", order.OrderBillingAddress)
                //    .FirstObject;

                try
                {
                    ltrPayPalForm.Text = GeneratePayPalToken(order, customer);
                }
                catch (Exception ex)
                {
                    Response.Write(ex.InnerException);
                }
            }
        }
    protected override void OnPreRender(EventArgs e)
    {
        // Get order information
        OrderInfo oi = OrderInfoProvider.GetOrderInfo(orderId);

        if (oi != null)
        {
            // Register client script
            string script = String.Format("var originalOrderIsPaid = {0};", oi.OrderIsPaid.ToString().ToLowerCSafe());
            ScriptHelper.RegisterClientScriptBlock(Page, typeof(string), "StoreOriginalOrderIsPaidValue", ScriptHelper.GetScript(script));

            // If order is paid
            if (oi.OrderIsPaid)
            {
                enabled = false;
            }
            // If order is paid changed
            else if (orderIsPaidChanged)
            {
                enabled = true;
            }
        }

        // Set enabled to specific controls
        drpPayment.Enabled  = enabled;
        drpCurrency.Enabled = enabled;
        addressElem.Enabled = enabled;
        btnNew.Enabled      = enabled;

        // Enable edit address only if address selected
        btnEdit.Enabled = (enabled) ? (addressElem.AddressID != 0) : false;

        base.OnPreRender(e);
    }
Пример #11
0
    protected System.Collections.Generic.IList <ProductBookModel> GetDownLoadFile(int orderId)
    {
        var     oi = OrderInfoProvider.GetOrderInfo(orderId);
        DataSet ds = OrderItemSKUFileInfoProvider.GetOrderItemSKUFiles(orderId);

        if (!DataHelper.DataSourceIsEmpty(ds) && oi != null && oi.OrderIsPaid)
        {
            IList <ProductBookModel> list = new List <ProductBookModel>();
            foreach (DataRow reader in ds.Tables[0].Rows)
            {
                string myFileUrl = URLHelper.ResolveUrl(
                    OrderItemSKUFileInfoProvider.GetOrderItemSKUFileUrl(
                        ValidationHelper.GetGuid(reader["Token"], Guid.Empty),
                        ValidationHelper.GetString(reader["FileName"], string.Empty),
                        ValidationHelper.GetInteger(reader["OrderSiteID"], 0)));

                if (!string.IsNullOrEmpty(myFileUrl))
                {
                    string myFileName = ValidationHelper.GetString(reader["FileName"], string.Empty);
                    string myPName    = HTMLHelper.HTMLEncode(
                        ResHelper.LocalizeString(ValidationHelper.GetString(reader["OrderItemSKUName"], null)));
                    var model = new ProductBookModel()
                    {
                        filename    = myFileName,
                        fileUrl     = String.Format("<a href=\"{0}\" target=\"_blank\">{1}</a>)", myFileUrl, HTMLHelper.HTMLEncode(myFileName)),
                        productname = myPName
                    };
                    list.Add(model);
                }
            }
            return(list);
        }
        return(null);
    }
    protected ProductModel GetDownLoadFile(int orderId)
    {
        var     oi = OrderInfoProvider.GetOrderInfo(orderId);
        DataSet ds = OrderItemSKUFileInfoProvider.GetOrderItemSKUFiles(orderId);

        if (!DataHelper.DataSourceIsEmpty(ds) && oi.OrderIsPaid)
        {
            foreach (DataRow reader in ds.Tables[0].Rows)
            {
                string myFileUrl = URLHelper.ResolveUrl(
                    OrderItemSKUFileInfoProvider.GetOrderItemSKUFileUrl(
                        ValidationHelper.GetGuid(reader["Token"], Guid.Empty),
                        ValidationHelper.GetString(reader["FileName"], string.Empty),
                        ValidationHelper.GetInteger(reader["OrderSiteID"], 0)));

                if (!string.IsNullOrEmpty(myFileUrl))
                {
                    string myFileName = ValidationHelper.GetString(reader["FileName"], string.Empty);
                    string myPName    = HTMLHelper.HTMLEncode(
                        ResHelper.LocalizeString(ValidationHelper.GetString(reader["OrderItemSKUName"], null)));
                    var model = new ProductModel()
                    {
                        filename    = myFileName,
                        fileUrl     = String.Format("<a class='btndownl' href=\"{0}\" target=\"_blank\">{1}</a>", myFileUrl, "Télécharger"),
                        productname = myPName
                    };

                    return(model);
                }
            }
        }
        return(null);
    }
        /// <summary>
        /// Fictitious method for creating a payment response information and paying the order.
        /// </summary>
        /// <param name="orderID">ID of the paid order.</param>
        public ActionResult Index(int orderID)
        {
            // Gets the order
            OrderInfo order = OrderInfoProvider.GetOrderInfo(orderID);

            // Validates the retrieved order
            if (order?.OrderSiteID != SiteContext.CurrentSiteID)
            {
                // Redirects back to the order review step if validation fails
                return(RedirectToAction("PreviewAndPay"));
            }

            // Creates a fictitious response
            ResponseViewModel response = new ResponseViewModel()
            {
                InvoiceNo     = order.OrderID,
                Message       = "Successfully paid",
                Completed     = true,
                TransactionID = new Random().Next(100000, 200000).ToString(),
                Amount        = order.OrderTotalPrice,
                ResponseCode  = "",
                Approved      = true
            };

            // Validates the response and pays the order
            Validate(response);

            // Redirects to the thank-you page
            return(RedirectToAction("ThankYou", "Checkout", new { OrderID = orderID }));
        }
Пример #14
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Get order
        OrderInfo oi = OrderInfoProvider.GetOrderInfo(orderId);

        if (oi != null)
        {
            // Get customer for current user
            CustomerInfo customer = CustomerInfoProvider.GetCustomerInfoByUserID(MembershipContext.AuthenticatedUser.UserID);

            // If order does not belong to current user
            if ((customer == null) || ((customer != null) && (oi.OrderCustomerID != customer.CustomerID)))
            {
                // Redirect to access denied page
                URLHelper.Redirect("~/CMSMessages/AccessDeniedToPage.aspx");
            }
        }
        else
        {
            // Redirect to error page
            URLHelper.Redirect(UIHelper.GetErrorPageUrl("com.downloadsdialog.ordernotfoundtitle", "com.downloadsdialog.ordernotfoundtext"));
        }

        // Initialize close button
        btnClose.Text = GetString("general.close");

        // Initialize unigrid
        downloadsGridElem.ZeroRowsText         = GetString("com.downloadsdialog.nodownloadsfound");
        downloadsGridElem.OnDataReload        += downloadsGridElem_OnDataReload;
        downloadsGridElem.OnExternalDataBound += downloadsGridElem_OnExternalDataBound;
    }
    protected void btnGenerate_Click(object sender, EventArgs e)
    {
        // check 'EcommerceModify' permission
        if (!ECommerceContext.IsUserAuthorizedForPermission("ModifyOrders"))
        {
            RedirectToAccessDenied("CMS.Ecommerce", "EcommerceModify OR ModifyOrders");
        }

        // Save updated order invoice number
        //   order.OrderInvoiceNumber = txtInvoiceNumber.Text;
        order.SetValue("facture", txtInvoiceNumber.Text);
        OrderInfoProvider.SetOrderInfo(order);

        // Generate and display new invoice
        string invoice = OrderInfoProvider.GetInvoice(orderId);

        lblInvoice.Text = URLHelper.MakeLinksAbsolute(invoice);

        // Save new invoice
        order.OrderInvoice = invoice;
        OrderInfoProvider.SetOrderInfo(order);

        // Show message
        ShowChangesSaved();
    }
Пример #16
0
    /// <summary>
    /// Saving billing requires recalculation of order. Save action is executed by this custom code.
    /// </summary>
    protected void editOrderBilling_OnBeforeSave(object sender, EventArgs e)
    {
        // Load the shopping cart to process the data
        ShoppingCartInfo sci = ShoppingCartInfoProvider.GetShoppingCartInfoFromOrder(Order.OrderID);

        // Update data only if shopping cart data were changed
        int paymentID  = ValidationHelper.GetInteger(editOrderBilling.FieldEditingControls["OrderPaymentOptionID"].DataValue, 0);
        int currencyID = ValidationHelper.GetInteger(editOrderBilling.FieldEditingControls["OrderCurrencyID"].DataValue, 0);

        // Recalculate order
        if ((sci != null) && ((sci.ShoppingCartPaymentOptionID != paymentID) || (sci.ShoppingCartCurrencyID != currencyID)))
        {
            // Set order new properties
            sci.ShoppingCartPaymentOptionID = paymentID;
            sci.ShoppingCartCurrencyID      = currencyID;

            // Evaluate order data
            ShoppingCartInfoProvider.EvaluateShoppingCart(sci);

            // Update order data
            ShoppingCartInfoProvider.SetOrder(sci, true);
        }

        // Update only one order property
        if (Order.OrderIsPaid != OrderIsPaid)
        {
            Order.OrderIsPaid = OrderIsPaid;
            OrderInfoProvider.SetOrderInfo(Order);
        }

        ShowChangesSaved();

        // Stop automatic saving action
        editOrderBilling.StopProcessing = true;
    }
Пример #17
0
        public void EmptyCart_CreateOrder_SetsCustomer()
        {
            var cart      = CreateCartWithCustomerInfo(Factory.CustomerAnonymous, Factory.CustomerAddressUSA);
            var order     = ShoppingService.CreateOrder(cart);
            var orderInfo = OrderInfoProvider.GetOrderInfo(order.OrderID);

            Assert.AreEqual(Factory.CustomerAnonymous.CustomerID, orderInfo.OrderCustomerID);
        }
Пример #18
0
 private void SendOrderNotifications(ShoppingCart cart)
 {
     if (ECommerceSettings.SendOrderNotification(SiteName))
     {
         OrderInfoProvider.SendOrderNotificationToAdministrator(cart.OriginalCart);
         OrderInfoProvider.SendOrderNotificationToCustomer(cart.OriginalCart);
     }
 }
Пример #19
0
    /// <summary>
    /// Handles the grid's OnAction event.
    /// </summary>
    /// <param name="actionName">Name of item (button) that throws event</param>
    /// <param name="actionArgument">ID (value of Primary key) of corresponding data row</param>
    protected void gridElem_OnAction(string actionName, object actionArgument)
    {
        int             orderId = ValidationHelper.GetInteger(actionArgument, 0);
        OrderInfo       oi      = null;
        OrderStatusInfo osi     = null;

        switch (actionName.ToLowerCSafe())
        {
        case "edit":
            string redirectToUrl = UIContextHelper.GetElementUrl(ModuleName.ECOMMERCE, "OrderProperties", false, orderId);
            if (customerId > 0)
            {
                redirectToUrl += "&customerId=" + customerId;
            }
            URLHelper.Redirect(redirectToUrl);
            break;

        case "previous":
            // Check 'ModifyOrders' and 'EcommerceModify' permission
            if (!ECommerceContext.IsUserAuthorizedForPermission(EcommercePermissions.ORDERS_MODIFY))
            {
                AccessDenied(ModuleName.ECOMMERCE, "EcommerceModify OR ModifyOrders");
            }

            oi = OrderInfoProvider.GetOrderInfo(orderId);
            if (oi != null)
            {
                osi = OrderStatusInfoProvider.GetPreviousEnabledStatus(oi.OrderStatusID);
                if (osi != null)
                {
                    oi.OrderStatusID = osi.StatusID;
                    // Save order status changes
                    OrderInfoProvider.SetOrderInfo(oi);
                }
            }
            break;

        case "next":
            // Check 'ModifyOrders' and 'EcommerceModify' permission
            if (!ECommerceContext.IsUserAuthorizedForPermission(EcommercePermissions.ORDERS_MODIFY))
            {
                AccessDenied(ModuleName.ECOMMERCE, "EcommerceModify OR ModifyOrders");
            }

            oi = OrderInfoProvider.GetOrderInfo(orderId);
            if (oi != null)
            {
                osi = OrderStatusInfoProvider.GetNextEnabledStatus(oi.OrderStatusID);
                if (osi != null)
                {
                    oi.OrderStatusID = osi.StatusID;
                    // Save order status changes
                    OrderInfoProvider.SetOrderInfo(oi);
                }
            }
            break;
        }
    }
    /// <summary>
    /// Saves order information from ShoppingCartInfo object to database as new order.
    /// </summary>
    public override bool ProcessStep()
    {
        // Load first step if there is no address
        if (ShoppingCart.ShoppingCartBillingAddress == null)
        {
            ShoppingCartControl.LoadStep(0);
            return(false);
        }

        // Deal with order note
        ShoppingCartControl.SetTempValue(ORDER_NOTE, null);
        ShoppingCart.ShoppingCartNote = TextHelper.LimitLength(txtNote.Text.Trim(), txtNote.MaxLength);

        try
        {
            // Set order culture
            ShoppingCart.ShoppingCartCulture = LocalizationContext.PreferredCultureCode;

            // Create order
            ShoppingCartInfoProvider.SetOrder(ShoppingCart);
        }
        catch (Exception ex)
        {
            // Show error
            lblError.Text = GetString("Ecommerce.OrderPreview.ErrorOrderSave");

            // Log exception
            Service.Resolve <IEventLogService>().LogException("Shopping cart", "SAVEORDER", ex, ShoppingCart.ShoppingCartSiteID);
            return(false);
        }

        // Track order activity
        string siteName = SiteContext.CurrentSiteName;

        if (LogActivityForCustomer)
        {
            var mainCurrency             = CurrencyInfoProvider.GetMainCurrency(ShoppingCart.ShoppingCartSiteID);
            var grandTotalInMainCurrency = Service.Resolve <ICurrencyConverterService>().Convert(ShoppingCart.GrandTotal, ShoppingCart.Currency.CurrencyCode, mainCurrency.CurrencyCode, ShoppingCart.ShoppingCartSiteID);
            var formattedPrice           = CurrencyInfoProvider.GetFormattedPrice(grandTotalInMainCurrency, mainCurrency);

            ShoppingCartControl.TrackActivityPurchasedProducts(ShoppingCart, siteName, ContactID);
            ShoppingCartControl.TrackActivityPurchase(ShoppingCart.OrderId, ContactID,
                                                      SiteContext.CurrentSiteName, RequestContext.CurrentRelativePath,
                                                      grandTotalInMainCurrency, formattedPrice);
        }

        // Raise finish order event
        ShoppingCartControl.RaiseOrderCompletedEvent();

        if (chkSendEmail.Checked)
        {
            // Send order notification emails
            OrderInfoProvider.SendOrderNotificationToAdministrator(ShoppingCart);
            OrderInfoProvider.SendOrderNotificationToCustomer(ShoppingCart);
        }

        return(true);
    }
 private static void HandleOrderNotification(ShoppingCartInfo shoppingCart)
 {
     if (ECommerceSettings.SendOrderNotification(shoppingCart.SiteName))
     {
         // Send order notification emails
         OrderInfoProvider.SendOrderNotificationToAdministrator(shoppingCart);
         OrderInfoProvider.SendOrderNotificationToCustomer(shoppingCart);
     }
 }
Пример #22
0
        public void CartWithoutShipping_CreateOrder_SetsNoShippingOption()
        {
            var cart = CreateCartWithCustomerInfo(Factory.CustomerAnonymous, Factory.CustomerAddressUSA);

            var order     = ShoppingService.CreateOrder(cart);
            var orderInfo = OrderInfoProvider.GetOrderInfo(order.OrderID);

            Assert.That(orderInfo.OrderShippingOptionID == 0, "Order shipping option is set");
        }
Пример #23
0
        /// <summary>
        /// Returns an enumerable collection of TopN orders of the given customer ordered by OrderDate descending.
        /// </summary>
        /// <param name="customerId">Customer's identifier.</param>
        /// <param name="count">Number of retrieved orders. Using 0 returns all records.</param>
        /// <returns>Collection of the customer's orders. See <see cref="OrderInfo"/> for detailed information.</returns>
        public IEnumerable <OrderInfo> GetByCustomerId(int customerId, int count = 0)
        {
            var orders = OrderInfoProvider.GetOrders(SiteID)
                         .WhereEquals("OrderCustomerID", customerId)
                         .TopN(count)
                         .OrderByDescending(orderInfo => orderInfo.OrderDate)
                         .ToList();

            return(orders);
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        int       orderId = QueryHelper.GetInteger("orderid", 0);
        OrderInfo order   = OrderInfoProvider.GetOrderInfo(orderId);

        if (order != null)
        {
            lblInvoice.Text = URLHelper.MakeLinksAbsolute(order.OrderInvoice);
        }
    }
Пример #25
0
        public ActionResult MarkOrderAsPaid(string textBoxValue)
        {
            // Gets the order based on the entered order ID
            OrderInfo order = GetOrder(textBoxValue);

            // Sets the order as paid
            order.OrderIsPaid = true;
            OrderInfoProvider.SetOrderInfo(order);

            return(RedirectToAction("OrderDetail"));
        }
Пример #26
0
 protected void btnDeleteClick(object sender, EventArgs e)
 {
     if (OrderInfoProvider.DeleteData())
     {
         ShowConfirmation(GetString("com.reports.datadeleted"));
     }
     else
     {
         ShowError(GetString("com.reports.operationFailed"));
     }
 }
Пример #27
0
        /// <summary>
        /// Returns an order with the specified identifier.
        /// </summary>
        /// <param name="orderId">Order's identifier.</param>
        /// <returns><see cref="OrderInfo"/> object representing an order with the specified identifier. Returns <c>null</c> if not found.</returns>
        public OrderInfo GetById(int orderId)
        {
            var orderInfo = OrderInfoProvider.GetOrderInfo(orderId);

            if (orderInfo == null || orderInfo.OrderSiteID != SiteID)
            {
                return(null);
            }

            return(orderInfo);
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        int       orderId = QueryHelper.GetInteger("orderid", 0);
        OrderInfo order   = OrderInfoProvider.GetOrderInfo(orderId);

        if (order != null)
        {
            //lblInvoice.Text = URLHelper.MakeLinksAbsolute(order.OrderInvoice);
            lblInvoice.Text = GetAndBulkUpdateAddresses(order.OrderShippingAddressID, order.OrderCustomerID, order.OrderID);
        }
    }
    /// <summary>
    /// Saving billing requires recalculation of order. Save action is executed by this custom code.
    /// </summary>
    protected void editOrderBilling_OnBeforeSave(object sender, EventArgs e)
    {
        // Load original data
        var origPaymentID = OrderInfoProvider.GetOrders(Order.OrderSiteID).Columns("OrderPaymentOptionID").WhereEquals("OrderID", Order.OrderID)
                            .GetListResult <int>().FirstOrDefault();

        // Update data only if shopping cart data were changed
        var paymentID = ValidationHelper.GetInteger(editOrderBilling.FieldEditingControls["OrderPaymentOptionID"].DataValue, 0);

        // Check if recalculate order is needed
        mRecalculateOrder = origPaymentID != paymentID;
    }
Пример #30
0
 /// <summary>
 /// Clean up current order payment result.
 /// </summary>
 private void CleanUpOrderPaymentResult()
 {
     if (ShoppingCart != null)
     {
         OrderInfo oi = OrderInfoProvider.GetOrderInfo(ShoppingCart.OrderId);
         if (oi != null)
         {
             oi.OrderPaymentResult = null;
             OrderInfoProvider.SetOrderInfo(oi);
         }
     }
 }