예제 #1
0
        public override string ProcessJavascript(Order order)
        {
            int    orderItemsCount = 0;
            string orderItems      = "";

            var subtotal = order.OrderItems.Sum(item => item.Amount * item.Price);

            // сумма налогов не включенных в стоимость товара
            var taxTotal      = TaxServices.GetOrderTaxes(order.OrderID).Where(t => !t.TaxShowInPrice).Sum(t => t.TaxSum);
            var totalDiscount = (float)Math.Round(subtotal / 100 * order.OrderDiscount, 2);

            taxTotal += order.PaymentCost;

            foreach (var item in order.OrderItems)
            {
                var percent = item.Price * item.Amount * 100 / subtotal;

                item.Price += percent * taxTotal / (100 * item.Amount);
                item.Price -= percent * totalDiscount / (100 * item.Amount);

                orderItemsCount++;
                orderItems += string.Format("&TC_{0}={1}&TPr_{0}={2}&TName_{0}={3}",
                                            orderItemsCount, item.Amount, item.Price.ToString("F"), HttpUtility.UrlEncode(item.Name));
            }

            var shippingCost = order.ShippingCost / order.OrderCurrency.CurrencyValue;

            if (shippingCost > 0)
            {
                orderItemsCount++;
                orderItems += string.Format("&TC_{0}={1}&TPr_{0}={2}&TName_{0}={3}",
                                            orderItemsCount, 1, ((float)Math.Round(shippingCost)).ToString("F"), HttpUtility.UrlEncode("Доставка"));
            }

            var link = String.Format("https://anketa.bank.rs.ru/minipotreb.php?idTpl={0}&TTName={1}&Order={2}&TCount={3}{4}&UserName={5}&UserLastName={6}&UserMail={7}",
                                     PartnerId,
                                     SettingsMain.SiteUrl.Replace("http://", ""),
                                     order.OrderID,
                                     orderItemsCount,
                                     orderItems,
                                     order.OrderCustomer.FirstName,
                                     order.OrderCustomer.LastName,
                                     order.OrderCustomer.Email != "admin" ? order.OrderCustomer.Email : "");

            var sb = new StringBuilder();

            sb.Append("<script type=\"text/javascript\"> ");
            sb.AppendLine("function openrsbcredit() {{");
            sb.AppendFormat("window.open(\"{0}\", \"_blank\");\r\n", link);
            sb.AppendLine("}} ");
            sb.AppendLine("</script>");

            return(sb.ToString());
        }
예제 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (EmptyCheck || Order == null)
            {
                return;
            }

            liCompanyName.Text       = Bill.CompanyName;
            liCompanyName2.Text      = Bill.CompanyName;
            liCompanyCode.Text       = Bill.CompanyCode;
            liCredit.Text            = Bill.Credit;
            liBankCode.Text          = Bill.BankCode;
            liBankName.Text          = Bill.BankName;
            liCompanyEssencials.Text = Bill.CompanyEssentials;

            liOrderNum.Text = string.Format("Рахунок на оплату № {0} від {1} {2} {3} р.",
                                            Order.OrderID, Order.OrderDate.Day.ToString("0#"),
                                            Months[Order.OrderDate.Month - 1], Order.OrderDate.Year);

            liBuyerInfo.Text = Order.BillingContact.Name;

            rprOrrderItems.DataSource = Order.OrderItems;
            rprOrrderItems.DataBind();

            trDiscount.Visible = Order.TotalDiscount != 0;
            liDiscount.Text    = GetPrice(Order.TotalDiscount, Order.OrderCurrency);

            liTotal.Text  = GetPrice(Order.Sum, Order.OrderCurrency);
            hfTotal.Value = GetPriceFormat(Order.Sum, Order.OrderCurrency);

            liTotalCount.Text = string.Format("Всього найменувань {0}, на суму {1} грн.",
                                              Order.OrderItems.Count,
                                              GetPrice(Order.Sum, Order.OrderCurrency));

            var taxes = TaxServices.GetOrderTaxes(Order.OrderID).Where(p => p.TaxSum > 0).ToList();

            if (taxes.Count > 0)
            {
                var taxSum = (float)Math.Round(taxes.Sum(t => t.TaxSum), 2);

                liTaxSum.Text = GetPrice(taxSum, Order.OrderCurrency);
                hfTax.Value   = GetPriceFormat(taxSum, Order.OrderCurrency);

                trTax.Visible    = true;
                trTaxSum.Visible = true;
            }
            else
            {
                trTax.Visible    = false;
                trTaxSum.Visible = false;
            }
        }
예제 #3
0
        private string GetOrderJson(Order order)
        {
            var orderItems = order.OrderItems;

            float subtotal = order.OrderItems.Sum(item => item.Amount * item.Price);

            // сумма налогов не включенных в стоимость товара
            var   taxTotal      = TaxServices.GetOrderTaxes(order.OrderID).Where(t => !t.TaxShowInPrice).Sum(t => t.TaxSum);
            float totalDiscount = (float)Math.Round(subtotal / 100 * order.OrderDiscount, 2);

            foreach (var item in orderItems)
            {
                var percent = item.Price * item.Amount * 100 / subtotal;

                item.Price += percent * taxTotal / (100 * item.Amount);
                item.Price -= percent * totalDiscount / (100 * item.Amount);
            }

            var shopCartItems = orderItems.Select(item => new
            {
                model = item.Name,
                count = item.Amount,
                price = (float)Math.Round(item.Price * item.Amount)
            }).ToList();


            var shippingCost = order.ShippingCost / order.OrderCurrency.CurrencyValue;

            if (shippingCost > 0)
            {
                shopCartItems.Add(new
                {
                    model = "Доставка",
                    count = 1F,
                    price = (float)Math.Round(shippingCost)
                });
            }

            return(JsonConvert.SerializeObject(shopCartItems));
        }
예제 #4
0
        /// <summary>
        /// Генерирует json с заказами
        /// </summary>
        private string GetOrderJson(Order order, string partnerId)
        {
            var orderItems = order.OrderItems;

            float subtotal = order.OrderItems.Sum(item => item.Amount * item.Price);

            // сумма налогов не включенных в стоимость товара
            var taxTotal      = TaxServices.GetOrderTaxes(order.OrderID).Where(t => !t.TaxShowInPrice).Sum(t => t.TaxSum);
            var totalDiscount = (float)Math.Round(subtotal / 100 * order.OrderDiscount, 2);

            foreach (var item in orderItems)
            {
                var percent = item.Price * item.Amount * 100 / subtotal;

                item.Price += percent * taxTotal / (100 * item.Amount);
                item.Price -= percent * totalDiscount / (100 * item.Amount);
            }

            var shopCartItems = orderItems.Select(item => item.ProductID != null ? new
            {
                id    = item.ArtNo,
                name  = item.Name,
                price = (float)Math.Round(item.Price),
                type  = ProductService.GetCategoriesByProductId((int)item.ProductID).FirstOrDefault().Name,
                count = item.Amount.ToString("#")
            } : null).ToList();

            var array = new
            {
                items = shopCartItems
            };



            return(JsonConvert.SerializeObject(array));
        }
예제 #5
0
        /// <summary>
        /// Генерирует json с заказами
        /// </summary>
        private string GetOrderJson(Order order, string partnerId)
        {
            var orderItems = order.OrderItems;

            decimal subtotal = order.OrderItems.Sum(item => item.Amount * item.Price);

            // сумма налогов не включенных в стоимость товара
            var taxTotal      = TaxServices.GetOrderTaxes(order.OrderID).Where(t => !t.TaxShowInPrice).Sum(t => t.TaxSum);
            var totalDiscount = Math.Round(subtotal / 100 * order.OrderDiscount, 2);

            foreach (var item in orderItems)
            {
                var percent = item.Price * item.Amount * 100 / subtotal;

                item.Price += percent * taxTotal / (100 * item.Amount);
                item.Price -= percent * totalDiscount / (100 * item.Amount);
            }

            var shopCartItems = orderItems.Select(item => new
            {
                title    = item.Name,
                category = item.ItemType == EnumItemType.Product ?
                           ProductService.GetCategoriesByProductId(item.EntityId).FirstOrDefault().Name
                                                                            : "",
                qty   = item.Amount,
                price = Math.Round(item.Price)
            }).ToList();


            var shippingCost = order.ShippingCost / order.OrderCurrency.CurrencyValue;

            if (shippingCost > 0)
            {
                shopCartItems.Add(new
                {
                    title    = "Доставка",
                    category = "",
                    qty      = 1,
                    price    = Math.Round(shippingCost)
                });
            }

            var details = new
            {
                firstname  = order.OrderCustomer.FirstName,
                lastname   = order.OrderCustomer.LastName,
                middlename = "",
                email      = order.OrderCustomer.Email != "admin" ? order.OrderCustomer.Email : "",
                cellphone  = order.OrderCustomer.MobilePhone
            };

            var array = new
            {
                items = shopCartItems,
                details,
                partnerId      = partnerId,
                partnerName    = SettingsMain.ShopName.Replace("\"", "").Replace("'", ""),
                partnerOrderId = Sandbox ? (order.Number.ToString() + "-kvk-test") : order.OrderID.ToString(),
                deliveryType   = ""
            };

            OrderSum = shopCartItems.Sum(item => item.price * item.qty);

            return(JsonConvert.SerializeObject(array));
        }
예제 #6
0
        private void GenerateWorksheetSheet1(WorksheetCollection sheets, Order order)
        {
            Culture.InitializeCulture();
            Worksheet sheet = sheets.Add(Resource.Admin_ViewOrder_ItemNum + order.OrderID);

            sheet.Table.DefaultRowHeight    = 15F;
            sheet.Table.ExpandedColumnCount = 5;
            List <TaxValue> taxedItems = TaxServices.GetOrderTaxes(order.OrderID);

            sheet.Table.ExpandedRowCount = 40 + order.OrderItems.Count * 2 + taxedItems.Count;
            sheet.Table.FullColumns      = 1;
            sheet.Table.FullRows         = 1;
            WorksheetColumn column0 = sheet.Table.Columns.Add();

            //column0.Width = 186; Commented By Evgeni to enlarge column width
            column0.Width = 250;
            column0.Span  = 1;
            WorksheetColumn column1 = sheet.Table.Columns.Add();

            column1.Index = 3;
            column1.Width = 156;
            sheet.Table.Columns.Add(120);
            sheet.Table.Columns.Add(89);
            // Order ID-----------------------------------------------
            WorksheetRow Row0 = sheet.Table.Rows.Add();

            Row0.Height = 22;
            WorksheetCell cell;

            cell             = Row0.Cells.Add();
            cell.StyleID     = "s132";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Resource.Admin_ViewOrder_ItemNum + order.OrderID;
            cell.MergeAcross = 4;
            // Status -----------------------------------------------
            WorksheetRow Row1 = sheet.Table.Rows.Add();

            cell             = Row1.Cells.Add();
            cell.StyleID     = "s133";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = "(" + order.OrderStatus.StatusName + ")";
            cell.MergeAcross = 4;
            //  -----------------------------------------------
            WorksheetRow Row2 = sheet.Table.Rows.Add();

            cell             = Row2.Cells.Add();
            cell.StyleID     = "s134";
            cell.MergeAcross = 4;
            // Date -----------------------------------------------
            WorksheetRow Row3 = sheet.Table.Rows.Add();

            cell             = Row3.Cells.Add();
            cell.StyleID     = "s135";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Resource.Admin_ViewOrder_Date;
            cell             = Row3.Cells.Add();
            cell.StyleID     = "s70";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Culture.ConvertDate(order.OrderDate);
            cell.MergeAcross = 3;
            // NUmber to status check -----------------------------------------------
            WorksheetRow Row4 = sheet.Table.Rows.Add();

            cell             = Row4.Cells.Add();
            cell.StyleID     = "s135";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Resource.Admin_ViewOrder_Number;
            cell             = Row4.Cells.Add();
            cell.StyleID     = "s70";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = order.Number;
            cell.MergeAcross = 3;
            // Status comment -----------------------------------------------
            WorksheetRow Row5 = sheet.Table.Rows.Add();

            cell             = Row5.Cells.Add();
            cell.StyleID     = "s135";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Resource.Admin_ViewOrder_StatusComment;
            cell             = Row5.Cells.Add();
            cell.StyleID     = "s70";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = order.StatusComment;
            cell.MergeAcross = 3;
            // -----------------------------------------------
            WorksheetRow Row6 = sheet.Table.Rows.Add();

            cell             = Row6.Cells.Add();
            cell.StyleID     = "s136";
            cell.MergeAcross = 4;
            // Headers -----------------------------------------------
            WorksheetRow Row7 = sheet.Table.Rows.Add();

            Row7.Cells.Add(Resource.Admin_ViewOrder_Billing, DataType.String, "s70");
            Row7.Cells.Add(Resource.Admin_ViewOrder_Shipping, DataType.String, "s70");
            Row7.Cells.Add(Resource.Admin_ViewOrder_ShippingMethod, DataType.String, "s70");
            // Names -----------------------------------------------
            WorksheetRow Row8 = sheet.Table.Rows.Add();

            Row8.Cells.Add("     " + Resource.Admin_ViewOrder_Name + order.BillingContact.Name, DataType.String, "s70");

            Row8.Cells.Add("     " + Resource.Admin_ViewOrder_Name + order.ShippingContact.Name, DataType.String, "s70");
            var shippingMethodName = order.ArchivedShippingName;

            if (order.OrderPickPoint != null)
            {
                shippingMethodName += order.OrderPickPoint.PickPointAddress.Replace("<br/>", " ");
            }

            Row8.Cells.Add("     " + shippingMethodName, DataType.String, "s70");
            // Countries -----------------------------------------------
            WorksheetRow Row9 = sheet.Table.Rows.Add();

            Row9.Cells.Add("     " + Resource.Admin_ViewOrder_Country + order.BillingContact.Country, DataType.String,
                           "s70");
            Row9.Cells.Add("     " + Resource.Admin_ViewOrder_Country + order.ShippingContact.Country, DataType.String,
                           "s70");
            Row9.Cells.Add(Resource.Admin_ViewOrder_PaymentType, DataType.String, "s70");
            // Cities -----------------------------------------------
            WorksheetRow Row10 = sheet.Table.Rows.Add();

            Row10.Cells.Add("     " + Resource.Admin_ViewOrder_City + order.BillingContact.City, DataType.String, "s70");
            Row10.Cells.Add("     " + Resource.Admin_ViewOrder_City + order.ShippingContact.City, DataType.String, "s70");
            Row10.Cells.Add("     " + order.PaymentMethodName, DataType.String, "s70");
            // Zones -----------------------------------------------
            WorksheetRow Row11 = sheet.Table.Rows.Add();

            Row11.Cells.Add("     " + Resource.Admin_ViewOrder_Zone + order.BillingContact.Zone, DataType.String, "s70");
            Row11.Cells.Add("     " + Resource.Admin_ViewOrder_Zone + order.ShippingContact.Zone, DataType.String, "s70");
            cell         = Row11.Cells.Add();
            cell.StyleID = "s70";
            // Zips -----------------------------------------------
            WorksheetRow Row12 = sheet.Table.Rows.Add();

            Row12.Cells.Add("     " + Resource.Admin_ViewOrder_Zip + order.BillingContact.Zip, DataType.String, "s70");
            Row12.Cells.Add("     " + Resource.Admin_ViewOrder_Zip + order.ShippingContact.Zip, DataType.String, "s70");
            cell         = Row12.Cells.Add();
            cell.StyleID = "s70";
            // Adresses -----------------------------------------------
            WorksheetRow Row13 = sheet.Table.Rows.Add();

            Row13.Cells.Add("     " + Resource.Admin_ViewOrder_Address + order.BillingContact.Address, DataType.String,
                            "s70");
            Row13.Cells.Add("     " + Resource.Admin_ViewOrder_Address + order.ShippingContact.Address, DataType.String,
                            "s70");
            cell         = Row13.Cells.Add();
            cell.StyleID = "s70";

            // Added by Evgeni
            //Tel
            WorksheetRow Row14 = sheet.Table.Rows.Add();

            Row14.Cells.Add("     " + Resource.Client_OrderConfirmation_MobilePhone + " :" + order.OrderCustomer.MobilePhone, DataType.String,
                            "s70");
            Row14.Cells.Add("     " + Resource.Client_OrderConfirmation_MobilePhone + " :" + order.OrderCustomer.MobilePhone, DataType.String,
                            "s70");
            cell         = Row14.Cells.Add();
            cell.StyleID = "s70";

            //
            // -----------------------------------------------
            WorksheetRow Row17 = sheet.Table.Rows.Add();

            cell             = Row17.Cells.Add();
            cell.StyleID     = "s134";
            cell.MergeAcross = 4;
            // Orders -----------------------------------------------
            WorksheetRow Row18 = sheet.Table.Rows.Add();

            cell             = Row18.Cells.Add();
            cell.StyleID     = "s136";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Resource.Admin_ViewOrder_OrderItem;
            cell.MergeAcross = 4;
            // -----------------------------------------------
            WorksheetRow Row19 = sheet.Table.Rows.Add();

            Row19.Height     = 15;
            cell             = Row19.Cells.Add();
            cell.StyleID     = "s137";
            cell.MergeAcross = 4;
            // Order items table header -----------------------------------------------
            WorksheetRow Row20 = sheet.Table.Rows.Add();

            Row20.Height = 16;
            Row20.Cells.Add(Resource.Admin_ViewOrder_ItemName, DataType.String, "s89");
            Row20.Cells.Add(Resource.Admin_ViewOrder_CustomOptions, DataType.String, "s90");
            Row20.Cells.Add(Resource.Admin_ViewOrder_Price, DataType.String, "s90");
            Row20.Cells.Add(Resource.Admin_ViewOrder_ItemAmount, DataType.String, "s90");
            Row20.Cells.Add(Resource.Admin_ViewOrder_ItemCost, DataType.String, "s91");
            // Order items -----------------------------------------------
            foreach (OrderItem item in order.OrderItems)
            {
                WorksheetRow Row = sheet.Table.Rows.Add();
                cell           = Row.Cells.Add();
                cell.StyleID   = "m51494176";
                cell.Data.Type = DataType.String;
                //Changed by Evgeni to isert ArtNo in order print
                cell.Data.Text = item.Name + " [" + item.ArtNo + "]";
                //
                cell.MergeDown = 1;
                cell           = Row.Cells.Add();
                cell.StyleID   = "m51494196";
                var html = new StringBuilder();
                foreach (EvaluatedCustomOptions ev in item.SelectedOptions)
                {
                    html.Append(string.Format("- {0}: {1} \n", ev.CustomOptionTitle, ev.OptionTitle));
                }

                //Changed by Evgeni to isert ArtNo in order print
                cell.Data.Text = " " + item.ArtNo + " " + html.ToString();
                //
                cell.MergeDown = 1;
                cell           = Row.Cells.Add();
                cell.StyleID   = "m51494216";
                cell.Data.Type = DataType.String;

                bool     ciscodebefore;
                string   cpriceformat = null;
                string   csign        = null;
                Currency cur          = CurrencyService.Currency(order.OrderCurrency.CurrencyCode);
                ciscodebefore = cur.IsCodeBefore;
                cpriceformat  = cur.PriceFormat;
                csign         = cur.Symbol;

                cell.Data.Text = CatalogService.GetStringPrice(item.Price, order.OrderCurrency.CurrencyValue,
                                                               order.OrderCurrency.CurrencyCode);
                cell.MergeDown = 1;
                cell           = Row.Cells.Add();
                cell.StyleID   = "m51494236";
                cell.Data.Type = DataType.Number;
                cell.Data.Text = item.Amount.ToString();
                cell.MergeDown = 1;
                cell           = Row.Cells.Add();
                cell.StyleID   = "m51494256";
                cell.Data.Type = DataType.String;

                cell.Data.Text = CatalogService.GetStringPrice(item.Price * item.Amount,
                                                               order.OrderCurrency.CurrencyValue,
                                                               order.OrderCurrency.CurrencyCode);
                cell.MergeDown = 1;
                // -----------------------------------------------
                WorksheetRow RowSep = sheet.Table.Rows.Add();
                RowSep.Height = 15;
            }
            // -----------------------------------------------
            WorksheetRow Row27 = sheet.Table.Rows.Add();

            Row27.Height   = 15;
            cell           = Row27.Cells.Add();
            cell.StyleID   = "s70";
            cell           = Row27.Cells.Add();
            cell.StyleID   = "s70";
            cell.Data.Type = DataType.String;
            cell.Data.Text = Resource.Admin_ViewOrder_ItemCost2;
            cell.Index     = 4;
            decimal orderPrice = ((order.Sum - order.ShippingCost) * 100) / (100 - order.OrderDiscount);

            Row27.Cells.Add(
                CatalogService.GetStringPrice(order.Sum, order.OrderCurrency.CurrencyValue,
                                              order.OrderCurrency.CurrencyCode), DataType.String, "s70");
            // -----------------------------------------------
            WorksheetRow Row28 = sheet.Table.Rows.Add();

            cell           = Row28.Cells.Add();
            cell.StyleID   = "s70";
            cell           = Row28.Cells.Add();
            cell.StyleID   = "s70";
            cell.Data.Type = DataType.String;
            cell.Data.Text = Resource.Admin_ViewOrder_ItemDiscount;
            cell.Index     = 4;


            decimal discount = orderPrice * (order.OrderDiscount / 100);

            Row28.Cells.Add(
                "-" +
                CatalogService.GetStringPrice(discount, order.OrderCurrency.CurrencyValue,
                                              order.OrderCurrency.CurrencyCode), DataType.String, "s70");
            // -----------------------------------------------
            WorksheetRow Row29 = sheet.Table.Rows.Add();

            cell           = Row29.Cells.Add();
            cell.StyleID   = "s70";
            cell           = Row29.Cells.Add();
            cell.StyleID   = "s70";
            cell.Data.Type = DataType.String;
            cell.Data.Text = Resource.Admin_ViewOrder_ShippingPrice;
            cell.Index     = 4;

            Row29.Cells.Add(
                "+" +
                CatalogService.GetStringPrice(order.ShippingCost, order.OrderCurrency.CurrencyValue,
                                              order.OrderCurrency.CurrencyCode), DataType.String, "s70");
            // -----------------------------------------------

            if (taxedItems.Count > 0)
            {
                foreach (TaxValue tax in taxedItems)
                {
                    WorksheetRow Row = sheet.Table.Rows.Add();
                    cell           = Row.Cells.Add();
                    cell.StyleID   = "s70";
                    cell           = Row.Cells.Add();
                    cell.StyleID   = "s70";
                    cell.Data.Type = DataType.String;
                    cell.Data.Text = (tax.TaxShowInPrice ? Resource.Core_TaxServices_Include_Tax + " " : "") +
                                     tax.TaxName + ":";
                    cell.Index = 4;
                    Row.Cells.Add(
                        (tax.TaxShowInPrice ? "" : "+") +
                        CatalogService.GetStringPrice(tax.TaxSum, order.OrderCurrency.CurrencyValue,
                                                      order.OrderCurrency.CurrencyCode), DataType.String, "s70");
                }
            }
            else
            {
                WorksheetRow Row30a = sheet.Table.Rows.Add();
                cell           = Row30a.Cells.Add();
                cell.StyleID   = "s70";
                cell           = Row30a.Cells.Add();
                cell.StyleID   = "s70";
                cell.Data.Type = DataType.String;
                cell.Data.Text = Resource.Admin_ViewOrder_Taxes;
                cell.Index     = 4;

                Row30a.Cells.Add(
                    "+" +
                    CatalogService.GetStringPrice(0, order.OrderCurrency.CurrencyValue, order.OrderCurrency.CurrencyCode),
                    DataType.String, "s70");
            }
            // -----------------------------------------------
            WorksheetRow Row30 = sheet.Table.Rows.Add();

            cell           = Row30.Cells.Add();
            cell.StyleID   = "s70";
            cell           = Row30.Cells.Add();
            cell.StyleID   = "s135";
            cell.Data.Type = DataType.String;
            cell.Data.Text = Resource.Admin_ViewOrder_TotalPrice;
            cell.Index     = 4;

            cell =
                Row30.Cells.Add(
                    CatalogService.GetStringPrice(order.Sum, order.OrderCurrency.CurrencyValue,
                                                  order.OrderCurrency.CurrencyCode), DataType.String, "s135");

            // -----------------------------------------------
            WorksheetRow Row31 = sheet.Table.Rows.Add();

            cell             = Row31.Cells.Add();
            cell.StyleID     = "s135";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Resource.Client_PrintOrder_YourComment;
            cell.MergeAcross = 4;
            // -----------------------------------------------
            WorksheetRow Row32 = sheet.Table.Rows.Add();

            cell             = Row32.Cells.Add();
            cell.StyleID     = "s141";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = order.CustomerComment;
            cell.MergeAcross = 4;
            cell.MergeDown   = 1;
            // -----------------------------------------------
            //  Options
            // -----------------------------------------------
            sheet.Options.Selected                     = true;
            sheet.Options.ProtectObjects               = false;
            sheet.Options.ProtectScenarios             = false;
            sheet.Options.PageSetup.Header.Margin      = 0.3F;
            sheet.Options.PageSetup.Footer.Margin      = 0.3F;
            sheet.Options.PageSetup.PageMargins.Bottom = 0.75F;
            sheet.Options.PageSetup.PageMargins.Left   = 0.7F;
            sheet.Options.PageSetup.PageMargins.Right  = 0.7F;
            sheet.Options.PageSetup.PageMargins.Top    = 0.75F;
            sheet.Options.Print.PaperSizeIndex         = 9;
            sheet.Options.Print.VerticalResolution     = 0;
            sheet.Options.Print.ValidPrinterInfo       = true;
        }
예제 #7
0
        private void GenerateWorksheetSheet1(WorksheetCollection sheets, Order order)
        {
            Culture.InitializeCulture();
            Worksheet sheet = sheets.Add(Resource.Admin_ViewOrder_ItemNum + order.OrderID);

            sheet.Table.DefaultRowHeight    = 15F;
            sheet.Table.ExpandedColumnCount = 5;
            List <OrderTax> taxedItems = TaxServices.GetOrderTaxes(order.OrderID);

            sheet.Table.ExpandedRowCount = 42 + order.OrderItems.Count * 2 + taxedItems.Count;
            sheet.Table.FullColumns      = 1;
            sheet.Table.FullRows         = 1;
            WorksheetColumn column0 = sheet.Table.Columns.Add();

            column0.Width = 186;
            column0.Span  = 1;
            WorksheetColumn column1 = sheet.Table.Columns.Add();

            column1.Index = 3;
            column1.Width = 156;
            sheet.Table.Columns.Add(120);
            sheet.Table.Columns.Add(89);
            // Order ID-----------------------------------------------
            WorksheetRow Row0 = sheet.Table.Rows.Add();

            Row0.Height = 22;
            WorksheetCell cell;

            cell             = Row0.Cells.Add();
            cell.StyleID     = "s132";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Resource.Admin_ViewOrder_ItemNum + order.OrderID;
            cell.MergeAcross = 4;
            // Status -----------------------------------------------
            WorksheetRow Row1 = sheet.Table.Rows.Add();

            cell             = Row1.Cells.Add();
            cell.StyleID     = "s133";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = "(" + order.OrderStatus.StatusName + ")";
            cell.MergeAcross = 4;
            //  -----------------------------------------------
            WorksheetRow Row2 = sheet.Table.Rows.Add();

            cell             = Row2.Cells.Add();
            cell.StyleID     = "s134";
            cell.MergeAcross = 4;
            // Date -----------------------------------------------
            WorksheetRow Row3 = sheet.Table.Rows.Add();

            cell             = Row3.Cells.Add();
            cell.StyleID     = "s135";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Resource.Admin_ViewOrder_Date;
            cell             = Row3.Cells.Add();
            cell.StyleID     = "s70";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Culture.ConvertDate(order.OrderDate);
            cell.MergeAcross = 3;
            // NUmber to status check -----------------------------------------------
            WorksheetRow Row4 = sheet.Table.Rows.Add();

            cell             = Row4.Cells.Add();
            cell.StyleID     = "s135";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Resource.Admin_ViewOrder_Number;
            cell             = Row4.Cells.Add();
            cell.StyleID     = "s70";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = order.Number;
            cell.MergeAcross = 3;
            // Status comment -----------------------------------------------
            WorksheetRow Row5 = sheet.Table.Rows.Add();

            cell             = Row5.Cells.Add();
            cell.StyleID     = "s135";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Resource.Admin_ViewOrder_StatusComment;
            cell             = Row5.Cells.Add();
            cell.StyleID     = "s70";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = order.StatusComment;
            cell.MergeAcross = 3;


            WorksheetRow RowEmail = sheet.Table.Rows.Add();

            cell             = RowEmail.Cells.Add();
            cell.StyleID     = "s135";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Resource.Admin_ViewCustomer_Email;
            cell             = RowEmail.Cells.Add();
            cell.StyleID     = "s70";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = order.OrderCustomer.Email;
            cell.MergeAcross = 3;

            WorksheetRow RowPhone = sheet.Table.Rows.Add();

            cell             = RowPhone.Cells.Add();
            cell.StyleID     = "s135";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Resource.Admin_CommonSettings_Phone;
            cell             = RowPhone.Cells.Add();
            cell.StyleID     = "s70";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = order.OrderCustomer.MobilePhone;
            cell.MergeAcross = 3;

            // -----------------------------------------------
            WorksheetRow Row6 = sheet.Table.Rows.Add();

            cell             = Row6.Cells.Add();
            cell.StyleID     = "s136";
            cell.MergeAcross = 4;
            // Headers -----------------------------------------------
            WorksheetRow Row7 = sheet.Table.Rows.Add();

            Row7.Cells.Add(Resource.Admin_ViewOrder_Billing, DataType.String, "s70");
            Row7.Cells.Add(Resource.Admin_ViewOrder_Shipping, DataType.String, "s70");
            Row7.Cells.Add(Resource.Admin_ViewOrder_ShippingMethod, DataType.String, "s70");
            // Names -----------------------------------------------
            WorksheetRow Row8 = sheet.Table.Rows.Add();

            Row8.Cells.Add("���� " + Resource.Admin_ViewOrder_Name + order.BillingContact.Name, DataType.String, "s70");

            Row8.Cells.Add("���� " + Resource.Admin_ViewOrder_Name + order.ShippingContact.Name, DataType.String, "s70");
            var shippingMethodName = order.ArchivedShippingName;

            if (order.OrderPickPoint != null)
            {
                shippingMethodName += order.OrderPickPoint.PickPointAddress.Replace("<br/>", " ");
            }

            Row8.Cells.Add("���� " + shippingMethodName, DataType.String, "s70");
            // Countries -----------------------------------------------
            WorksheetRow Row9 = sheet.Table.Rows.Add();

            Row9.Cells.Add("�����" + Resource.Admin_ViewOrder_Country + order.BillingContact.Country, DataType.String,
                           "s70");
            Row9.Cells.Add("�����" + Resource.Admin_ViewOrder_Country + order.ShippingContact.Country, DataType.String,
                           "s70");
            Row9.Cells.Add(Resource.Admin_ViewOrder_PaymentType, DataType.String, "s70");
            // Cities -----------------------------------------------
            WorksheetRow Row10 = sheet.Table.Rows.Add();

            Row10.Cells.Add("�����" + Resource.Admin_ViewOrder_City + order.BillingContact.City, DataType.String, "s70");
            Row10.Cells.Add("�����" + Resource.Admin_ViewOrder_City + order.ShippingContact.City, DataType.String, "s70");
            Row10.Cells.Add("���� " + order.PaymentMethodName, DataType.String, "s70");
            // Zones -----------------------------------------------
            WorksheetRow Row11 = sheet.Table.Rows.Add();

            Row11.Cells.Add("�����" + Resource.Admin_ViewOrder_Zone + order.BillingContact.Zone, DataType.String, "s70");
            Row11.Cells.Add("�����" + Resource.Admin_ViewOrder_Zone + order.ShippingContact.Zone, DataType.String, "s70");
            cell         = Row11.Cells.Add();
            cell.StyleID = "s70";
            // Zips -----------------------------------------------
            WorksheetRow Row12 = sheet.Table.Rows.Add();

            Row12.Cells.Add("�����" + Resource.Admin_ViewOrder_Zip + order.BillingContact.Zip, DataType.String, "s70");
            Row12.Cells.Add("�����" + Resource.Admin_ViewOrder_Zip + order.ShippingContact.Zip, DataType.String, "s70");
            cell         = Row12.Cells.Add();
            cell.StyleID = "s70";
            // Adresses -----------------------------------------------
            WorksheetRow Row13 = sheet.Table.Rows.Add();

            Row13.Cells.Add("�����" + Resource.Admin_ViewOrder_Address + order.BillingContact.Address, DataType.String,
                            "s70");
            Row13.Cells.Add("�����" + Resource.Admin_ViewOrder_Address + order.ShippingContact.Address, DataType.String,
                            "s70");
            cell         = Row13.Cells.Add();
            cell.StyleID = "s70";
            // -----------------------------------------------
            WorksheetRow Row17 = sheet.Table.Rows.Add();

            cell             = Row17.Cells.Add();
            cell.StyleID     = "s134";
            cell.MergeAcross = 4;
            // Orders -----------------------------------------------
            WorksheetRow Row18 = sheet.Table.Rows.Add();

            cell             = Row18.Cells.Add();
            cell.StyleID     = "s136";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Resource.Admin_ViewOrder_OrderItem;
            cell.MergeAcross = 4;
            // -----------------------------------------------
            WorksheetRow Row19 = sheet.Table.Rows.Add();

            Row19.Height     = 15;
            cell             = Row19.Cells.Add();
            cell.StyleID     = "s137";
            cell.MergeAcross = 4;
            // Order items table header -----------------------------------------------
            WorksheetRow Row20 = sheet.Table.Rows.Add();

            Row20.Height = 16;
            Row20.Cells.Add(Resource.Admin_ViewOrder_ItemName, DataType.String, "s89");
            Row20.Cells.Add(Resource.Admin_ViewOrder_CustomOptions, DataType.String, "s90");
            Row20.Cells.Add(Resource.Admin_ViewOrder_Price, DataType.String, "s90");
            Row20.Cells.Add(Resource.Admin_ViewOrder_ItemAmount, DataType.String, "s90");
            Row20.Cells.Add(Resource.Admin_ViewOrder_ItemCost, DataType.String, "s91");
            // Order items -----------------------------------------------
            foreach (OrderItem item in order.OrderItems)
            {
                WorksheetRow Row = sheet.Table.Rows.Add();
                cell           = Row.Cells.Add();
                cell.StyleID   = "m51494176";
                cell.Data.Type = DataType.String;
                cell.Data.Text = item.ArtNo + ", " + item.Name;
                cell.MergeDown = 1;
                cell           = Row.Cells.Add();
                cell.StyleID   = "m51494196";
                var html = new StringBuilder();

                if (!string.IsNullOrEmpty(item.Color))
                {
                    html.Append(Configuration.SettingsCatalog.ColorsHeader + ": " + item.Color + " \n");
                }

                if (!string.IsNullOrEmpty(item.Size))
                {
                    html.Append(Configuration.SettingsCatalog.SizesHeader + ": " + item.Size + " \n");
                }

                foreach (EvaluatedCustomOptions ev in item.SelectedOptions)
                {
                    html.Append(string.Format("- {0}: {1} \n", ev.CustomOptionTitle, ev.OptionTitle));
                }

                cell.Data.Text = html.ToString();
                cell.MergeDown = 1;
                cell           = Row.Cells.Add();
                cell.StyleID   = "m51494216";
                cell.Data.Type = DataType.String;

                cell.Data.Text = CatalogService.GetStringPrice(item.Price, order.OrderCurrency.CurrencyValue,
                                                               order.OrderCurrency.CurrencyCode);
                cell.MergeDown = 1;
                cell           = Row.Cells.Add();
                cell.StyleID   = "m51494236";
                cell.Data.Type = DataType.String;
                cell.Data.Text = item.Amount.ToString();
                cell.MergeDown = 1;
                cell           = Row.Cells.Add();
                cell.StyleID   = "m51494256";
                cell.Data.Type = DataType.String;

                cell.Data.Text = CatalogService.GetStringPrice(item.Price * item.Amount,
                                                               order.OrderCurrency.CurrencyValue,
                                                               order.OrderCurrency.CurrencyCode);
                cell.MergeDown = 1;
                // -----------------------------------------------
                WorksheetRow RowSep = sheet.Table.Rows.Add();
                RowSep.Height = 15;
            }
            // -----------------------------------------------
            WorksheetRow Row27 = sheet.Table.Rows.Add();

            Row27.Height   = 15;
            cell           = Row27.Cells.Add();
            cell.StyleID   = "s70";
            cell           = Row27.Cells.Add();
            cell.StyleID   = "s70";
            cell.Data.Type = DataType.String;
            cell.Data.Text = Resource.Admin_ViewOrder_ItemCost2;
            cell.Index     = 4;

            var   ordCurrency  = order.OrderCurrency;
            float productPrice = order.OrderItems.Sum(item => item.Amount * item.Price);

            Row27.Cells.Add(
                CatalogService.GetStringPrice(productPrice, ordCurrency.CurrencyValue, ordCurrency.CurrencyCode),
                DataType.String, "s70");


            //-----------------------------------------------

            if (order.Coupon != null)
            {
                WorksheetRow Row28 = sheet.Table.Rows.Add();
                cell           = Row28.Cells.Add();
                cell.StyleID   = "s70";
                cell           = Row28.Cells.Add();
                cell.StyleID   = "s70";
                cell.Data.Type = DataType.String;
                cell.Data.Text = Resource.Admin_ViewOrder_Coupon;
                cell.Index     = 4;

                var productsWithCoupon = order.OrderItems.Where(item => item.IsCouponApplied).Sum(item => item.Price * item.Amount);

                switch (order.Coupon.Type)
                {
                case CouponType.Fixed:
                    Row28.Cells.Add(String.Format("-{0} ({1})",
                                                  CatalogService.GetStringPrice(order.Coupon.Value, ordCurrency.CurrencyValue, ordCurrency.CurrencyCode),
                                                  order.Coupon.Code), DataType.String, "s70");
                    break;

                case CouponType.Percent:
                    Row28.Cells.Add(String.Format("-{0} ({1}%) ({2})",
                                                  CatalogService.GetStringPrice(productsWithCoupon * order.Coupon.Value / 100, ordCurrency.CurrencyValue, ordCurrency.CurrencyCode),
                                                  CatalogService.FormatPriceInvariant(order.Coupon.Value),
                                                  order.Coupon.Code), DataType.String, "s70");
                    break;
                }
            }

            // -----------------------------------------------
            float totalDiscount = order.OrderDiscount;

            if (totalDiscount > 0)
            {
                WorksheetRow Row28 = sheet.Table.Rows.Add();
                cell           = Row28.Cells.Add();
                cell.StyleID   = "s70";
                cell           = Row28.Cells.Add();
                cell.StyleID   = "s70";
                cell.Data.Type = DataType.String;
                cell.Data.Text = Resource.Admin_ViewOrder_ItemDiscount;
                cell.Index     = 4;

                Row28.Cells.Add(
                    "-" +
                    CatalogService.GetStringDiscountPercent(productPrice, totalDiscount,
                                                            ordCurrency.CurrencyValue, ordCurrency.CurrencySymbol,
                                                            ordCurrency.IsCodeBefore,
                                                            CurrencyService.CurrentCurrency.PriceFormat, false),
                    DataType.String, "s70");
            }

            // -------------------------------------------------------

            if (order.Certificate != null)
            {
                WorksheetRow Row28 = sheet.Table.Rows.Add();
                cell           = Row28.Cells.Add();
                cell.StyleID   = "s70";
                cell           = Row28.Cells.Add();
                cell.StyleID   = "s70";
                cell.Data.Type = DataType.String;
                cell.Data.Text = Resource.Admin_ViewOrder_ItemDiscount;
                cell.Index     = 4;

                Row28.Cells.Add(
                    "-" +
                    string.Format("-{0}", CatalogService.GetStringPrice(order.Certificate.Price, ordCurrency.CurrencyValue, ordCurrency.CurrencyCode)),
                    DataType.String, "s70");
            }

            // -----------------------------------------------

            float bonusPrice = order.BonusCost;

            if (bonusPrice > 0)
            {
                WorksheetRow Row28_5 = sheet.Table.Rows.Add();
                cell           = Row28_5.Cells.Add();
                cell.StyleID   = "s70";
                cell           = Row28_5.Cells.Add();
                cell.StyleID   = "s70";
                cell.Data.Type = DataType.String;
                cell.Data.Text = Resource.Admin_ViewOrder_Bonuses;
                cell.Index     = 4;

                Row28_5.Cells.Add("-" + CatalogService.GetStringPrice(bonusPrice), DataType.String, "s70");
            }
            // -----------------------------------------------
            WorksheetRow Row29 = sheet.Table.Rows.Add();

            cell           = Row29.Cells.Add();
            cell.StyleID   = "s70";
            cell           = Row29.Cells.Add();
            cell.StyleID   = "s70";
            cell.Data.Type = DataType.String;
            cell.Data.Text = Resource.Admin_ViewOrder_ShippingPrice;
            cell.Index     = 4;

            Row29.Cells.Add(
                "+" +
                CatalogService.GetStringPrice(order.ShippingCost, order.OrderCurrency.CurrencyValue,
                                              order.OrderCurrency.CurrencyCode), DataType.String, "s70");

            if (taxedItems.Count > 0)
            {
                foreach (OrderTax tax in taxedItems)
                {
                    WorksheetRow Row = sheet.Table.Rows.Add();
                    cell           = Row.Cells.Add();
                    cell.StyleID   = "s70";
                    cell           = Row.Cells.Add();
                    cell.StyleID   = "s70";
                    cell.Data.Type = DataType.String;
                    cell.Data.Text = (tax.TaxShowInPrice ? Resource.Core_TaxServices_Include_Tax + " " : "") +
                                     tax.TaxName + ":";
                    cell.Index = 4;
                    Row.Cells.Add(
                        (tax.TaxShowInPrice ? "" : "+") +
                        CatalogService.GetStringPrice(tax.TaxSum, order.OrderCurrency.CurrencyValue,
                                                      order.OrderCurrency.CurrencyCode), DataType.String, "s70");
                }
            }
            else
            {
                WorksheetRow Row30a = sheet.Table.Rows.Add();
                cell           = Row30a.Cells.Add();
                cell.StyleID   = "s70";
                cell           = Row30a.Cells.Add();
                cell.StyleID   = "s70";
                cell.Data.Type = DataType.String;
                cell.Data.Text = Resource.Admin_ViewOrder_Taxes;
                cell.Index     = 4;

                Row30a.Cells.Add(
                    "+" +
                    CatalogService.GetStringPrice(0, order.OrderCurrency.CurrencyValue, order.OrderCurrency.CurrencyCode),
                    DataType.String, "s70");
            }
            // -----------------------------------------------

            if (order.PaymentCost > 0)
            {
                WorksheetRow Row291 = sheet.Table.Rows.Add();
                cell           = Row291.Cells.Add();
                cell.StyleID   = "s70";
                cell           = Row291.Cells.Add();
                cell.StyleID   = "s70";
                cell.Data.Type = DataType.String;
                cell.Data.Text = Resource.Admin_ViewOrder_PaymentExtracharge;
                cell.Index     = 4;

                Row291.Cells.Add(
                    "+" +
                    CatalogService.GetStringPrice(order.PaymentCost, order.OrderCurrency.CurrencyValue,
                                                  order.OrderCurrency.CurrencyCode), DataType.String, "s70");
            }

            // -----------------------------------------------

            WorksheetRow Row30 = sheet.Table.Rows.Add();

            cell           = Row30.Cells.Add();
            cell.StyleID   = "s70";
            cell           = Row30.Cells.Add();
            cell.StyleID   = "s135";
            cell.Data.Type = DataType.String;
            cell.Data.Text = Resource.Admin_ViewOrder_TotalPrice;
            cell.Index     = 4;

            cell =
                Row30.Cells.Add(
                    CatalogService.GetStringPrice(order.Sum, order.OrderCurrency.CurrencyValue,
                                                  order.OrderCurrency.CurrencyCode), DataType.String, "s135");

            // -----------------------------------------------
            WorksheetRow Row31 = sheet.Table.Rows.Add();

            cell             = Row31.Cells.Add();
            cell.StyleID     = "s135";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = Resource.Client_PrintOrder_YourComment;
            cell.MergeAcross = 4;
            // -----------------------------------------------
            WorksheetRow Row32 = sheet.Table.Rows.Add();

            cell             = Row32.Cells.Add();
            cell.StyleID     = "s141";
            cell.Data.Type   = DataType.String;
            cell.Data.Text   = order.CustomerComment;
            cell.MergeAcross = 4;
            cell.MergeDown   = 1;
            // -----------------------------------------------
            //  Options
            // -----------------------------------------------
            sheet.Options.Selected                     = true;
            sheet.Options.ProtectObjects               = false;
            sheet.Options.ProtectScenarios             = false;
            sheet.Options.PageSetup.Header.Margin      = 0.3F;
            sheet.Options.PageSetup.Footer.Margin      = 0.3F;
            sheet.Options.PageSetup.PageMargins.Bottom = 0.75F;
            sheet.Options.PageSetup.PageMargins.Left   = 0.7F;
            sheet.Options.PageSetup.PageMargins.Right  = 0.7F;
            sheet.Options.PageSetup.PageMargins.Top    = 0.75F;
            sheet.Options.Print.PaperSizeIndex         = 9;
            sheet.Options.Print.VerticalResolution     = 0;
            sheet.Options.Print.ValidPrinterInfo       = true;
        }
예제 #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (EmptyCheck || Order == null)
            {
                Error404();
                return;
            }

            lblOrderID.Text = Order.OrderID.ToString();

            lblcompanyname.Text   = Bill.CompanyName;  // bill2.CompanyName;
            lTransactAccount.Text = Bill.TransAccount; // bill2.PayBill;
            lblinn.Text           = Bill.INN;

            divKPP.Visible             = Bill.KPP.IsNotEmpty();
            lblkpp.Text                = Bill.KPP.IsNotEmpty() ? Bill.KPP : string.Empty;
            lblbank.Text               = Bill.BankName;
            lCorrespondentAccount.Text = Bill.CorAccount;
            lblbik.Text                = Bill.BIK;

            lblProvider.Text = string.Format("ИНН {0}, {1} {2}, {3}{4}", Bill.INN,
                                             Bill.KPP.IsNullOrEmpty() ? string.Empty : "КПП " + Bill.KPP + ",",
                                             Bill.CompanyName, Bill.Address,
                                             (Bill.Telephone.IsNullOrEmpty() ? string.Empty : ", тел. " + Bill.Telephone));


            lblDirector.Text   = (string.IsNullOrEmpty(Bill.Director)) ? "______________________" : Bill.Director;
            lblAccountant.Text = (string.IsNullOrEmpty(Bill.Accountant)) ? "______________________" : Bill.Accountant;
            lblManager.Text    = (string.IsNullOrEmpty(Bill.Manager)) ? "______________________" : Bill.Manager;

            lblDateTime.Text = (Order.OrderDate).ToString("dd.MM.yy");

            string userAddress =
                (new List <string>()
            {
                Order.BillingContact.Name,
                Order.BillingContact.Country,
                Order.BillingContact.Zone,
                Order.BillingContact.City,
                Order.BillingContact.Address
            }).Where(s => s.IsNotEmpty()).AggregateString(", ");

            if (Order.PaymentDetails != null)
            {
                lblBuyer.Text = string.Format("{0}{1}{2}", (string.IsNullOrEmpty(Order.PaymentDetails.INN)) ? "" : ("ИНН " + Order.PaymentDetails.INN + ", "),
                                              (string.IsNullOrEmpty(Order.PaymentDetails.CompanyName)) ? "" : Order.PaymentDetails.CompanyName + ", ",
                                              userAddress);
            }
            else
            {
                lblBuyer.Text = userAddress;
            }


            if (Order.OrderItems != null && Order.OrderItems.Any())
            {
                rptOrderItems.DataBind();
            }
            else
            {
                rptOrderItems.Visible = false;
            }

            if (Order.OrderCertificates != null && Order.OrderCertificates.Any())
            {
                rptOrderCertificates.DataBind();
            }
            else
            {
                rptOrderCertificates.Visible = false;
            }

            trShipping.DataBind();

            trPaymentCost.Visible = Order.PaymentCost != 0;

            float priceSum = Order.OrderItems.Sum(oi => oi.Price * oi.Amount) + Order.ShippingCost + Order.PaymentCost;

            lbltotalprice.Text      = CatalogService.GetStringPrice(priceSum, Order.OrderCurrency.CurrencyValue, Order.OrderCurrency.CurrencyCode);
            lTotalDiscount.Text     = CatalogService.GetStringPrice(Order.TotalDiscount, Order.OrderCurrency.CurrencyValue, Order.OrderCurrency.CurrencyCode);
            lbltotalpricetopay.Text = CatalogService.GetStringPrice(Order.Sum, Order.OrderCurrency.CurrencyValue, Order.OrderCurrency.CurrencyCode);
            lbltotalprice2.Text     = lbltotalpricetopay.Text;

            literalTaxCost.Text =
                BuildTaxTable(TaxServices.GetOrderTaxes(Order.OrderID).Where(p => p.TaxSum > 0).ToList(), Order.OrderCurrency);

            float sumToRender = Order.Sum / Order.OrderCurrency.CurrencyValue;
            var   intPart     = (int)(Math.Floor(sumToRender));
            int   floatPart   = sumToRender != 0
                                ? SQLDataHelper.GetInt(Math.Round(sumToRender - Math.Floor(sumToRender), 2) * 100)
                                : 0;

            string script = "<script>num2str(\'" + intPart + "\', \'str\');</script>";

            switch (floatPart % 10)
            {
            case 1:
                lbltotalkop.Text = floatPart.ToString("0#") + @" копейка";
                break;

            case 2:
            case 3:
            case 4:
                lbltotalkop.Text = floatPart.ToString("0#") + @" копейки";
                break;

            default:
                lbltotalkop.Text = floatPart.ToString("0#") + @" копеек";
                break;
            }

            ClientScript.RegisterStartupScript(typeof(String), "A", script);
        }
예제 #9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request["ordernumber"].IsNullOrEmpty())
            {
                Response.Redirect("default.aspx");
                return;
            }

            try
            {
                var orderId = OrderService.GetOrderIdByNumber(Request["ordernumber"]);

                lblOrderID.Text = Resource.Admin_ViewOrder_ItemNum + orderId;

                Order = OrderService.GetOrder(orderId);

                if (Order == null)
                {
                    Response.Redirect("default.aspx");
                    return;
                }

                OrdCurrency     = Order.OrderCurrency;
                lOrderDate.Text = AdvantShop.Localization.Culture.ConvertDate(Order.OrderDate);

                if (Order.OrderCertificates != null && Order.OrderCertificates.Count > 0)
                {
                    trBilling.Visible  = false;
                    trShipping.Visible = false;
                }


                var productPrice = Order.OrderCertificates != null && Order.OrderCertificates.Count > 0
                                            ? Order.OrderCertificates.Sum(item => item.Sum)
                                            : Order.OrderItems.Sum(item => item.Amount * item.Price);

                var totalDiscount = Order.OrderDiscount;

                lblProductPrice.Text = CatalogService.GetStringPrice(productPrice, OrdCurrency.CurrencyValue,
                                                                     OrdCurrency.CurrencyCode);

                trDiscount.Visible    = Order.OrderDiscount != 0;
                lblOrderDiscount.Text = string.Format("-{0}",
                                                      CatalogService.GetStringDiscountPercent(productPrice, totalDiscount,
                                                                                              OrdCurrency.CurrencyValue,
                                                                                              Order.OrderCurrency.CurrencySymbol, Order.OrderCurrency.IsCodeBefore,
                                                                                              CurrencyService.CurrentCurrency.PriceFormat, false));

                trBonus.Visible    = Order.BonusCost != 0;
                lblOrderBonus.Text = string.Format("-{0}",
                                                   CatalogService.GetStringPrice(Order.BonusCost,
                                                                                 Order.OrderCurrency.CurrencyValue, Order.OrderCurrency.CurrencyCode));

                if (Order.Certificate != null)
                {
                    trCertificate.Visible = true;
                    lblCertificate.Text   = string.Format("-{0}",
                                                          CatalogService.GetStringPrice(Order.Certificate.Price,
                                                                                        OrdCurrency.CurrencyValue,
                                                                                        OrdCurrency.CurrencyCode));
                }
                else
                {
                    trCertificate.Visible = false;
                }

                if (Order.Coupon != null)
                {
                    var productsWithCoupon = Order.OrderItems.Where(item => item.IsCouponApplied).Sum(item => item.Price * item.Amount);
                    trCoupon.Visible = true;
                    switch (Order.Coupon.Type)
                    {
                    case CouponType.Fixed:
                        lblCoupon.Text = String.Format("-{0} ({1})",
                                                       CatalogService.GetStringPrice(Order.Coupon.Value, OrdCurrency.CurrencyValue, OrdCurrency.CurrencyCode),
                                                       Order.Coupon.Code);
                        break;

                    case CouponType.Percent:
                        lblCoupon.Text = String.Format("-{0} ({1}%) ({2})",
                                                       CatalogService.GetStringPrice(productsWithCoupon * Order.Coupon.Value / 100, OrdCurrency.CurrencyValue, OrdCurrency.CurrencyCode),
                                                       CatalogService.FormatPriceInvariant(Order.Coupon.Value),
                                                       Order.Coupon.Code);
                        break;
                    }
                }
                else
                {
                    trCoupon.Visible = false;
                }

                lblShippingPrice.Text = string.Format("{0}{1}", Order.ShippingCost > 0 ? "+" : "",
                                                      CatalogService.GetStringPrice(Order.ShippingCost, Order.OrderCurrency.CurrencyValue, Order.OrderCurrency.CurrencyCode));

                PaymentRow.Visible   = Order.PaymentCost != 0;
                lblPaymentPrice.Text = string.Format("{0}{1}", Order.PaymentCost > 0 ? "+" : "",
                                                     CatalogService.GetStringPrice(Order.PaymentCost, Order.OrderCurrency.CurrencyValue, Order.OrderCurrency.CurrencyCode));

                List <OrderTax> taxedItems = TaxServices.GetOrderTaxes(Order.OrderID);
                if (taxedItems.Count > 0)
                {
                    literalTaxCost.Text = TaxServices.BuildTaxTable(taxedItems, Order.OrderCurrency.CurrencyValue,
                                                                    Order.OrderCurrency.CurrencyCode,
                                                                    Resource.Admin_ViewOrder_Taxes);
                }


                lblTotalPrice.Text = CatalogService.GetStringPrice(Order.Sum, Order.OrderCurrency.CurrencyValue,
                                                                   Order.OrderCurrency.CurrencyCode);

                // ------------------------------------------------------------------------------------

                if (Order.OrderCertificates == null || Order.OrderCertificates.Count == 0)
                {
                    lvOrderItems.DataSource = Order.OrderItems;
                    lvOrderItems.DataBind();
                }
                else
                {
                    lvOrderGiftCertificates.DataSource = Order.OrderCertificates;
                    lvOrderGiftCertificates.DataBind();
                }


                MapAdress = Order.ShippingContact.Country + "," + Order.ShippingContact.Zone + "," +
                            Order.ShippingContact.City + "," + Order.ShippingContact.Address;
            }
            catch (Exception ex)
            {
                Debug.LogError(ex);
            }
        }
예제 #10
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (string.IsNullOrEmpty(Request["ordernumber"]))
        {
            Response.Redirect("default.aspx");
        }

        try
        {
            int orderId = OrderService.GetOrderIdByNumber(Request["ordernumber"]);

            lblOrderID.Text = Resource.Admin_ViewOrder_ItemNum + orderId;
            //Added by Evgeni
            lOrder0.Text = orderId.ToString();

            if (!IsPostBack)
            {
                Order ord = OrderService.GetOrder(orderId);

                if (ord != null)
                {
                    ordCurrency     = ord.OrderCurrency;
                    lOrderDate.Text = AdvantShop.Localization.Culture.ConvertDate(ord.OrderDate);


                    lNumber.Text = ord.Number;

                    lblOrderStatus.Text = @"(" + ord.OrderStatus.StatusName + @")";

                    lblShipping.Text  = @"<b>" + Resource.Admin_ViewOrder_Name + @"</b>&nbsp;" + ord.ShippingContact.Name;
                    lblShipping.Text += @"<br />";
                    lblShipping.Text += @"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>" + Resource.Admin_ViewOrder_Country +
                                        @"</b>&nbsp;" + ord.ShippingContact.Country + @"<br />";
                    lblShipping.Text += @"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>" + Resource.Admin_ViewOrder_City +
                                        @"</b>&nbsp;" + ord.ShippingContact.City + @"<br />";

                    if (ord.ShippingContact.Zone != null)
                    {
                        lblShipping.Text += @"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>" + Resource.Admin_ViewOrder_Zone +
                                            @"</b>&nbsp;" + ord.ShippingContact.Zone.Trim() + @"<br />";
                    }

                    if (ord.ShippingContact.Zip != null)
                    {
                        lblShipping.Text += @"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>" + Resource.Admin_ViewOrder_Zip +
                                            @"</b>&nbsp;" + ord.ShippingContact.Zip.Trim() + @"<br />";
                    }

                    lblShipping.Text += @"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>" + Resource.Admin_ViewOrder_Address +
                                        @"</b>&nbsp;" + ord.ShippingContact.Address + @"<br />";


                    lblBilling.Text  = @"<b>" + Resource.Admin_ViewOrder_Name + @"</b>&nbsp;" + ord.BillingContact.Name;
                    lblBilling.Text += @"<br />";
                    lblBilling.Text += @"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>" + Resource.Admin_ViewOrder_Country +
                                       @"</b>&nbsp;" + ord.BillingContact.Country + @"<br />";
                    lblBilling.Text += @"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>" + Resource.Admin_ViewOrder_City +
                                       @"</b>&nbsp;" + ord.BillingContact.City + @"<br />";

                    if (ord.BillingContact.Zone != null)
                    {
                        lblBilling.Text += @"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>" + Resource.Admin_ViewOrder_Zone +
                                           @"</b>&nbsp;" + ord.BillingContact.Zone.Trim() + @"<br />";
                    }

                    if (ord.BillingContact.Zip != null)
                    {
                        lblBilling.Text += @"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>" + Resource.Admin_ViewOrder_Zip +
                                           @"</b>&nbsp;" + ord.BillingContact.Zip.Trim() + @"<br />";
                    }

                    lblBilling.Text += @"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>" + Resource.Admin_ViewOrder_Address +
                                       @"</b>&nbsp;" + ord.BillingContact.Address + @"<br />";

                    lblShippingMethod.Text = @"<b>" + ord.ArchivedShippingName + @"</b>";

                    if (ord.OrderPickPoint != null)
                    {
                        lblShippingMethod.Text += @"</br><b>" + ord.OrderPickPoint.PickPointAddress + @"</b>";
                    }

                    lblPaymentType.Text = @"<b>" + ord.PaymentMethodName + @"</b>";

                    // ------------------------------------------------------------------------------------


                    decimal productPrice  = ord.OrderItems.Sum(item => item.Amount * item.Price);
                    decimal totalDiscount = ord.OrderDiscount;

                    lblProductPrice.Text = CatalogService.GetStringPrice(productPrice, ordCurrency.CurrencyValue, ordCurrency.CurrencyCode);

                    trDiscount.Visible    = ord.OrderDiscount != 0;
                    lblOrderDiscount.Text = string.Format("-{0}", CatalogService.GetStringDiscountPercent(productPrice, totalDiscount,
                                                                                                          ordCurrency.CurrencyValue, ord.OrderCurrency.CurrencySymbol,
                                                                                                          ord.OrderCurrency.IsCodeBefore, CurrencyService.CurrentCurrency.PriceFormat, false));

                    if (ord.Certificate != null)
                    {
                        trCertificate.Visible = true;
                        lblCertificate.Text   = string.Format("-{0}",
                                                              CatalogService.GetStringPrice(ord.Certificate.Price,
                                                                                            ordCurrency.CurrencyValue,
                                                                                            ordCurrency.CurrencyCode));
                    }
                    else
                    {
                        trCertificate.Visible = false;
                    }

                    if (ord.Coupon != null)
                    {
                        trCoupon.Visible = true;
                        switch (ord.Coupon.Type)
                        {
                        case CouponType.Fixed:
                            lblCoupon.Text = String.Format("-{0} ({1})",
                                                           CatalogService.GetStringPrice(ord.Coupon.Value,
                                                                                         ordCurrency.CurrencyValue,
                                                                                         ordCurrency.CurrencyCode),
                                                           ord.Coupon.Code);
                            break;

                        case CouponType.Percent:
                            lblCoupon.Text = String.Format("-{0} ({1}%) ({2})",
                                                           CatalogService.GetStringPrice(ord.Coupon.Value,
                                                                                         ordCurrency.CurrencyValue,
                                                                                         ordCurrency.CurrencyCode),
                                                           CatalogService.FormatPriceInvariant(ord.Coupon.Value),
                                                           ord.Coupon.Code);
                            break;
                        }
                    }
                    else
                    {
                        trCoupon.Visible = false;
                    }

                    lblShippingPrice.Text = string.Format("+{0}", CatalogService.GetStringPrice(ord.ShippingCost, ord.OrderCurrency.CurrencyValue, ord.OrderCurrency.CurrencyCode));

                    List <TaxValue> taxedItems = TaxServices.GetOrderTaxes(ord.OrderID);
                    literalTaxCost.Text = TaxServices.BuildTaxTable(taxedItems, ord.OrderCurrency.CurrencyValue, ord.OrderCurrency.CurrencyCode, Resource.Admin_ViewOrder_Taxes);
                    //Added By Evgeni
                    lblTotalPrice.Text = lblTotalPrice0.Text = CatalogService.GetStringPrice(ord.Sum, ord.OrderCurrency.CurrencyValue, ord.OrderCurrency.CurrencyCode);

                    // ------------------------------------------------------------------------------------

                    if (string.IsNullOrEmpty(ord.CustomerComment))
                    {
                        lblUserComments.Visible = false;
                    }
                    else
                    {
                        lblUserComments.Text    = Resource.Client_PrintOrder_YourComment + @" <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + ord.CustomerComment;
                        lblUserComments.Visible = true;
                    }

                    lStatusComment.Text = ord.StatusComment;

                    DataListOrderItems.DataSource = ord.OrderItems;
                    DataListOrderItems.DataBind();
                }
            }
        }
        catch (Exception ex)
        {
            Debug.LogError(ex);
        }
    }
예제 #11
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (EmptyCheck || Order == null)
        {
            return;
        }

        string company = HttpUtility.UrlDecode(Request["bill_companyname"]);
        string inn     = HttpUtility.UrlDecode(Request["bill_inn"]);

        lblOrderID.Text = Order.OrderID.ToString();

        lblcompanyname.Text        = Bill.CompanyName;  // bill2.CompanyName;
        lTransactAccount.Text      = Bill.TransAccount; // bill2.PayBill;
        lblinn.Text                = Bill.INN;
        lblkpp.Text                = Bill.KPP;
        lblbank.Text               = Bill.BankName;
        lCorrespondentAccount.Text = Bill.CorAccount;
        lblbik.Text                = Bill.BIK;

        lblProvider.Text = string.Format("ИНН {0} КПП {1} {2} {3} {4}", Bill.INN, Bill.KPP, Bill.CompanyName,
                                         Bill.Address,
                                         ((string.IsNullOrEmpty(Bill.Telephone)) ? "" : ", тел. " + Bill.Telephone));


        lblDirector.Text   = (string.IsNullOrEmpty(Bill.Director)) ? "______________________" : Bill.Director;
        lblAccountant.Text = (string.IsNullOrEmpty(Bill.Accountant)) ? "______________________" : Bill.Accountant;
        lblManager.Text    = (string.IsNullOrEmpty(Bill.Manager)) ? "______________________" : Bill.Manager;

        lblDateTime.Text = (Order.OrderDate).ToString("dd.MM.yy");

        string userAddress = Order.BillingContact.Address;

        lblBuyer.Text = string.Format("{0}{1} {2}", (string.IsNullOrEmpty(inn)) ? "" : ("ИНН " + inn + " "), company,
                                      userAddress);

        ShippingPrice = Order.ShippingCost / Order.OrderCurrency.CurrencyValue;
        rptOrderItems.DataBind();
        trShipping.DataBind();
        decimal priceSum = Order.OrderItems.Sum(oi => oi.Price * oi.Amount);
        decimal discount = Order.TotalDiscount;

        lbltotalprice.Text      = priceSum.ToString("##,##0.00") + ' ' + @"руб.";
        lTotalDiscount.Text     = discount.ToString("##,##0.00") + ' ' + @"руб.";
        lbltotalpricetopay.Text = Order.Sum.ToString("##,##0.00") + ' ' + @"руб.";
        lbltotalprice2.Text     = lbltotalpricetopay.Text;

        //NOTE using RUR - unstable!!!!
        literalTaxCost.Text = BuildTaxTable(TaxServices.GetOrderTaxes(Order.OrderID).Where(p => p.TaxSum > 0).ToList());

        var intPart = (int)(Math.Floor(Order.Sum));

        int floatPart = Order.Sum != 0 ? Convert.ToInt32(Math.Round(Order.Sum - Math.Floor(Order.Sum), 2) * 100) : 0;

        string script = "<script>num2str(\'" + intPart + "\', \'str\');</script>";

        switch (floatPart % 10)
        {
        case 1:
            lbltotalkop.Text = floatPart.ToString("0#") + @" копейка";
            break;

        case 2:
        case 3:
        case 4:
            lbltotalkop.Text = floatPart.ToString("0#") + @" копейки";
            break;

        default:
            lbltotalkop.Text = floatPart.ToString("0#") + @" копеек";
            break;
        }

        ClientScript.RegisterStartupScript(typeof(String), "A", script);
    }