コード例 #1
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;
        }
コード例 #2
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;
        }