Exemple #1
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);
    }
Exemple #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // Set default error message
        var errorMessageResString = "getproductfile.existerror";

        // Get order item SKU file
        var token       = QueryHelper.GetGuid("token", Guid.Empty);
        var orderedFile = OrderItemSKUFileInfoProvider.GetOrderItemSKUFileInfo(token);

        if (orderedFile != null)
        {
            // Get parent order item
            var orderItem = OrderItemInfoProvider.GetOrderItemInfo(orderedFile.OrderItemID);
            if (orderItem != null)
            {
                // If download is not expired
                if ((orderItem.OrderItemValidTo.CompareTo(DateTimeHelper.ZERO_TIME) == 0) || (orderItem.OrderItemValidTo.CompareTo(DateTime.Now) > 0))
                {
                    // Get SKU file
                    var skuFile = SKUFileInfoProvider.GetSKUFileInfo(orderedFile.FileID);

                    if (skuFile != null)
                    {
                        // Decide how to process the file based on file type
                        switch (skuFile.FileType.ToLowerCSafe())
                        {
                        case "metafile":
                            // Set parameters to current context
                            Context.Items["fileguid"]    = skuFile.FileMetaFileGUID;
                            Context.Items["disposition"] = "attachment";

                            // Handle request using metafile handler
                            Response.Clear();
                            var handler = new GetMetaFileHandler();
                            handler.ProcessRequest(Context);
                            Response.End();

                            return;
                        }
                    }
                }
                else
                {
                    // Set error message
                    errorMessageResString = "getproductfile.expirederror";
                }
            }
        }

        // Perform server side redirect to error page
        Response.Clear();
        Server.Transfer(UIHelper.GetErrorPageUrl("getproductfile.error", errorMessageResString));
        Response.End();
    }
Exemple #4
0
    object downloadsGridElem_OnExternalDataBound(object sender, string sourceName, object parameter)
    {
        DateTime orderItemValidTo = DateTimeHelper.ZERO_TIME;

        switch (sourceName.ToLower())
        {
        case "file":
            DataRowView row = (parameter as DataRowView);

            // Get values from parameter
            int    orderSiteId = ValidationHelper.GetInteger(row["OrderSiteID"], 0);
            int    fileId      = ValidationHelper.GetInteger(row["OrderItemSKUFileID"], 0);
            string productName = HTMLHelper.HTMLEncode(ResHelper.LocalizeString(ValidationHelper.GetString(row["OrderItemSKUName"], null)));
            string fileName    = ValidationHelper.GetString(row["FileName"], null);
            Guid   token       = ValidationHelper.GetGuid(row["Token"], Guid.Empty);
            string fileUrl     = URLHelper.ResolveUrl(OrderItemSKUFileInfoProvider.GetOrderItemSKUFileUrl(token, fileName, orderSiteId));
            orderItemValidTo = ValidationHelper.GetDateTime(row["OrderItemValidTo"], DateTimeHelper.ZERO_TIME);

            // If download is not expired
            if ((orderItemValidTo.CompareTo(DateTimeHelper.ZERO_TIME) == 0) || (orderItemValidTo.CompareTo(DateTime.Now) > 0))
            {
                // Return download link
                return(String.Format("{0} (<a href=\"{1}\" target=\"_blank\">{2}</a>)", productName, fileUrl, HTMLHelper.HTMLEncode(fileName)));
            }
            else
            {
                // Return file name
                return(String.Format("{0} ({1})", productName, HTMLHelper.HTMLEncode(fileName)));
            }

        case "expiration":
            orderItemValidTo = ValidationHelper.GetDateTime(parameter, DateTimeHelper.ZERO_TIME);

            // If download never expires
            if (orderItemValidTo.CompareTo(DateTimeHelper.ZERO_TIME) == 0)
            {
                // Return dash
                return("-");
            }
            else
            {
                // Return expiration date and time
                return(orderItemValidTo.ToString());
            }
        }

        return(parameter);
    }
Exemple #5
0
 private DataSet downloadsGridElem_OnDataReload(string completeWhere, string currentOrder, int currentTopN, string columns, int currentOffset, int currentPageSize, ref int totalRecords)
 {
     return(OrderItemSKUFileInfoProvider.GetOrderItemSKUFiles(this.orderId));
 }
Exemple #6
0
    protected object gridOrders_OnExternalDataBound(object sender, string sourceName, object parameter)
    {
        switch (sourceName.ToLowerCSafe())
        {
        case "totalprice":
            DataRowView dr = (DataRowView)parameter;

            int currencyId = ValidationHelper.GetInteger(dr["OrderCurrencyID"], 0);
            var currency   = CurrencyInfoProvider.GetCurrencyInfo(currencyId);

            // If order is not in main currency, show order price
            if (currency != null)
            {
                var orderTotalPrice = ValidationHelper.GetDouble(dr["OrderTotalPrice"], 0);
                var priceFormatted  = currency.FormatPrice(orderTotalPrice);

                // Formatted currency
                return(HTMLHelper.HTMLEncode(priceFormatted));
            }

            return(string.Empty);

        case "invoice":
            return("<a target=\"_blank\" href=\"" + UrlResolver.ResolveUrl("~/CMSModules/Ecommerce/CMSPages/GetInvoice.aspx?orderid=" + ValidationHelper.GetInteger(parameter, 0)) + "\">" + GetString("general.view") + "</a>");

        case "downloads":
            int orderId = ValidationHelper.GetInteger(parameter, 0);

            // Get order item SKU files for the order
            DataSet orderItemSkuFiles = OrderItemSKUFileInfoProvider.GetOrderItemSKUFiles(orderId);

            // If there are some downloads available for the order
            if (!DataHelper.DataSourceIsEmpty(orderItemSkuFiles))
            {
                // Make download links column visible
                downloadLinksColumnVisible = true;

                // Show view action for this record
                string url = UrlResolver.ResolveUrl("~/CMSModules/Ecommerce/CMSPages/EProducts.aspx?orderid=" + orderId);
                return(String.Format("<a href=\"#\" onclick=\"{0} \">{1}</a>",
                                     ScriptHelper.GetModalDialogScript(url, "DownloadLinks", 700, 600),
                                     GetString("general.view")));
            }

            return(String.Empty);

        case "ordertoshoppingcart":
            int id = ValidationHelper.GetInteger(parameter, 0);

            LinkButton addToCartButton = new LinkButton
            {
                OnClientClick = "return confirm(" + ScriptHelper.GetLocalizedString("myorders.addtocart") + ");",
                Text          = GetString("myorders.reorder")
            };

            addToCartButton.Click += (s, e) => AddToCart(id);

            return(addToCartButton);
        }
        return(parameter);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        string errorMessage = null;

        // Get order item SKU file
        OrderItemSKUFileInfo oiskufi = OrderItemSKUFileInfoProvider.GetOrderItemSKUFileInfo(token);

        if (oiskufi != null)
        {
            // Get parent order item
            OrderItemInfo oii = OrderItemInfoProvider.GetOrderItemInfo(oiskufi.OrderItemID);

            if (oii != null)
            {
                // If download is not expired
                if ((oii.OrderItemValidTo.CompareTo(DateTimeHelper.ZERO_TIME) == 0) || (oii.OrderItemValidTo.CompareTo(DateTime.Now) > 0))
                {
                    // Get SKU file
                    SKUFileInfo skufi = SKUFileInfoProvider.GetSKUFileInfo(oiskufi.FileID);

                    if (skufi != null)
                    {
                        // Decide how to process the file based on file type
                        switch (skufi.FileType.ToLowerCSafe())
                        {
                        case "metafile":
                            // Set parameters to current context
                            Context.Items["fileguid"]    = skufi.FileMetaFileGUID;
                            Context.Items["disposition"] = "attachment";

                            // Perform server side redirect to download
                            Response.Clear();
                            Server.Transfer(URLHelper.ResolveUrl("~/CMSPages/GetMetaFile.aspx"));
                            Response.End();
                            return;
                        }
                    }
                }
                else
                {
                    // Set error message
                    errorMessage = ResHelper.GetString("getproductfile.expirederror");
                }
            }
        }

        // If error message not set
        if (String.IsNullOrEmpty(errorMessage))
        {
            // Set default error message
            errorMessage = ResHelper.GetString("getproductfile.existerror");
        }

        // Set error message to current context
        Context.Items["title"] = ResHelper.GetString("getproductfile.error");
        Context.Items["text"]  = errorMessage;

        // Perform server side redirect to error page
        Response.Clear();
        Server.Transfer(URLHelper.ResolveUrl("~/CMSMessages/Error.aspx"));
        Response.End();
    }