protected void grid_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Delete") { TaxServices.DeleteTax(int.Parse((string)e.CommandArgument)); } if (e.CommandName == "AddTax") { GridViewRow footer = grid.FooterRow; string name = ((TextBox)footer.FindControl("txtNewName")).Text; string regNumber = ((TextBox)footer.FindControl("txtNewRegNumber")).Text; bool enabled = Convert.ToBoolean(((DropDownList)footer.FindControl("ddlNewEnabled")).SelectedValue); int countryId = Convert.ToInt32(((DropDownList)footer.FindControl("ddlCountry")).SelectedValue); if ((name.Trim().Length != 0) && (regNumber.Trim().Length != 0)) { var tax = new TaxElement { CountryID = countryId, DependsOnAddress = TypeRateDepends.Default, Enabled = enabled, FederalRate = 0.0M, Name = name, Priority = 1, RegNumber = regNumber, ShowInPrice = false, Type = (RateType)1 }; TaxServices.CreateTax(tax); //if (tax.TaxId != 0) // Response.Redirect("Tax.aspx?TaxID=" + tax.TaxId); } grid.ShowFooter = false; } }
protected void ddlCountry_SelectedIndexChanged(object sender, EventArgs e) { if (RegionService.GetRegions(ddlCountry.SelectedValue).Count == 0) { CurrentTax.RegionalRates.Clear(); grid.Visible = false; regionsPanel.Update(); formPanel.Update(); } else { grid.Visible = true; List <AjaxControlToolkit.CascadingDropDownNameValue> regions = RegionService.GetRegions(ddlCountry.SelectedValue); var fordelete = new List <RegionalRate>(); foreach (var rate in CurrentTax.RegionalRates.Where(rate => regions.Where(reg => reg.value == rate.RegionId.ToString(CultureInfo.InvariantCulture)).Count() == 0)) { fordelete.Add(rate); } foreach (var regionalRate in fordelete) { CurrentTax.RegionalRates.Remove(regionalRate); } TaxServices.UpdateTax(CurrentTax); regionsPanel.Update(); formPanel.Update(); } }
public void AddTaxService(int taxServiceId, int calculationMethod, decimal amount) { var t = TaxServices.SingleOrDefault(x => x.TaxServiceId == taxServiceId); if (t == null) { t = new TaxService { Amount = amount, CalculationType = calculationMethod, TaxServiceId = taxServiceId }; TaxServices.Add(t); } if (amount == 0) { if (t.Id > 0) { _removedTaxServices.Add(t); } TaxServices.Remove(t); } t.Amount = amount; }
protected void Page_PreRender(object sender, EventArgs e) { GiftCertificatePaymentMethods = new List <int>(GiftCertificateService.GetCertificatePaymentMethodsID()); lvPaymentMethods.DataSource = PaymentService.GetAllPaymentMethods(true).Where(payment => payment.Type != PaymentType.GiftCertificate); lvPaymentMethods.DataBind(); GiftCertificateTaxes = TaxServices.GetCertificateTaxes().Select(tax => tax.TaxId).ToList(); lvTaxes.DataSource = TaxServices.GetTaxes(); lvTaxes.DataBind(); }
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()); }
protected void Page_PreRender(object sender, EventArgs e) { if (grid.UpdatedRow != null) { TaxElement tax = TaxServices.GetTax(grid.UpdatedRow["ID"].TryParseInt()); if (tax != null) { tax.Name = grid.UpdatedRow["Name"]; tax.Enabled = grid.UpdatedRow["Enable"].TryParseBool(); tax.ShowInPrice = grid.UpdatedRow["DoShowInPrice"].TryParseBool(); tax.Rate = grid.UpdatedRow["Rate"].TryParseFloat(); TaxServices.UpdateTax(tax); } } DataTable data = _paging.PageItems; while (data.Rows.Count < 1 && _paging.CurrentPageIndex > 1) { _paging.CurrentPageIndex--; data = _paging.PageItems; } var clmn = new DataColumn("IsSelected", typeof(bool)) { DefaultValue = _inverseSelection }; data.Columns.Add(clmn); if ((_selectionFilter != null) && (_selectionFilter.Values != null)) { for (int i = 0; i <= data.Rows.Count - 1; i++) { int intIndex = i; if (Array.Exists(_selectionFilter.Values, c => c == data.Rows[intIndex]["ID"].ToString())) { data.Rows[i]["IsSelected"] = !_inverseSelection; } } } if (data.Rows.Count < 1) { goToPage.Visible = false; } grid.DataSource = data; grid.DataBind(); pageNumberer.PageCount = _paging.PageCount; lblFound.Text = _paging.TotalRowsCount.ToString(); }
void SaveTaxesByProductFromDatalist() { for (int i = 0; i < datalistTaxes.Items.Count; i++) { int taxId = 0; Int32.TryParse(((HiddenField)(datalistTaxes.Items[i].FindControl("hfTaxId"))).Value, out taxId); if (taxId != 0) { TaxServices.SwitchProductTax(ProductId, taxId, ((CheckBox)(datalistTaxes.Items[i].FindControl("chbTax"))).Checked, true); } } }
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; } }
private static Dictionary <TaxElement, decimal> GetTaxItems(ShoppingCart shoppingCart, CustomerContact shippingContact, CustomerContact billingContact) { var taxesItems = new Dictionary <TaxElement, decimal>(); foreach (var item in shoppingCart) { var t = (List <TaxElement>)TaxServices.GetTaxesForProduct(item.EntityId, billingContact, shippingContact); foreach (var tax in t) { if (taxesItems.ContainsKey(tax)) { taxesItems[tax] += TaxServices.CalculateTax((OrderItem)item, tax); } else { taxesItems.Add(tax, TaxServices.CalculateTax((OrderItem)item, tax)); } } } return(taxesItems); }
//Delete!! protected void lbDeleteSelected_Click(object sender, EventArgs e) { if ((_selectionFilter != null) && (_selectionFilter.Values != null)) { if (!_inverseSelection) { foreach (var id in _selectionFilter.Values) { TaxServices.DeleteTax(Convert.ToInt32(id)); } } else { var itemsIds = _paging.ItemsIds <int>("TaxID as ID"); foreach (int tax in itemsIds.Where(tax => !_selectionFilter.Values.Contains(tax.ToString(CultureInfo.InvariantCulture)))) { TaxServices.DeleteTax(tax); } } } }
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)); }
protected void grid_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Delete") { TaxServices.DeleteTax(int.Parse((string)e.CommandArgument)); } if (e.CommandName == "AddTax") { GridViewRow footer = grid.FooterRow; string name = ((TextBox)footer.FindControl("txtNewName")).Text; float rate = ((TextBox)footer.FindControl("txtNewRate")).Text.TryParseFloat(); bool enabled = SQLDataHelper.GetBoolean(((DropDownList)footer.FindControl("ddlNewEnabled")).SelectedValue); bool showInPrice = SQLDataHelper.GetBoolean(((DropDownList)footer.FindControl("ddlNewShowInPrice")).SelectedValue); if ((name.Trim().Length != 0)) { var tax = new TaxElement { Enabled = enabled, Rate = rate, Name = name, ShowInPrice = showInPrice }; TaxServices.CreateTax(tax); } grid.ShowFooter = false; } }
protected void btnSaveClick(object sender, EventArgs e) { MsgErr(true); try { var PaymentMethodsList = new List <int>(); foreach (ListViewItem item in lvPaymentMethods.Items) { int id; if (((CheckBox)item.FindControl("ckbActive")).Checked && Int32.TryParse(((HiddenField)item.FindControl("hfPaymentId")).Value, out id)) { PaymentMethodsList.Add(id); } } GiftCertificateService.SaveCertificatePaymentMethods(PaymentMethodsList); var TaxesList = new List <int>(); foreach (ListViewItem item in lvTaxes.Items) { int id; if (((CheckBox)item.FindControl("ckbActive")).Checked && Int32.TryParse(((HiddenField)item.FindControl("hfTaxId")).Value, out id)) { TaxesList.Add(id); } } TaxServices.SaveCertificateTaxes(TaxesList); MsgErr(Resources.Resource.Admin_Certificates_Save, true); } catch (Exception ex) { Debug.LogError(ex); MsgErr("Error: " + ex.Message, false); } }
/// <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)); }
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); }
private void LoadShoppingCart() { var orderConfirmData = PageData.OrderConfirmationData; var shpCart = ShoppingCartService.CurrentShoppingCart; if (shpCart.Count > 0 && shpCart.Count <= 5) { lvOrderList.DataSource = shpCart; lvOrderList.DataBind(); lvOrderList.Visible = true; } else { lvOrderList.Visible = false; } var productsPrice = shpCart.TotalPrice; var discountOnTotalPrice = shpCart.DiscountPercentOnTotalPrice; var totalDiscount = shpCart.TotalDiscount; var shippingPrice = orderConfirmData.SelectedShippingItem.Rate; if (discountOnTotalPrice > 0) { discountRow.Visible = true; liDiscountPercent.Text = string.Format("<span class=\"per\">-{0}%</span>", discountOnTotalPrice); lblOrderDiscount.Text = "-" + CatalogService.GetStringPrice(productsPrice * discountOnTotalPrice / 100); } else { discountRow.Visible = false; } if (shpCart.Certificate != null) { certificateRow.Visible = true; lblCertificatePrice.Text = String.Format("-{0}", CatalogService.GetStringPrice(shpCart.Certificate.Sum, 1, shpCart.Certificate.CertificateOrder.OrderCurrency.CurrencyCode, shpCart.Certificate.CertificateOrder.OrderCurrency.CurrencyValue)); } if (shpCart.Coupon != null) { couponRow.Visible = true; if (shpCart.TotalPrice < shpCart.Coupon.MinimalOrderPrice) { lblCouponPrice.Text = String.Format(Resource.Client_OrderConfirmation_CouponMessage, CatalogService.GetStringPrice(shpCart.Coupon.MinimalOrderPrice)); } else { if (totalDiscount == 0) { lblCouponPrice.Text = String.Format("-{0} ({1}) <img src='images/question_mark.png' title='{3}'> <a class=\"cross\" data-cart-remove-cupon=\"true\" title=\"{2}\"></a>", CatalogService.GetStringPrice(0), shpCart.Coupon.Code, Resource.Client_ShoppingCart_DeleteCoupon, Resource.Client_ShoppingCart_CouponNotApplied); } else { switch (shpCart.Coupon.Type) { case CouponType.Fixed: lblCouponPrice.Text = String.Format("-{0} ({1})", CatalogService.GetStringPrice(totalDiscount), shpCart.Coupon.Code); break; case CouponType.Percent: lblCouponPrice.Text = String.Format("-{0} ({1}%) ({2})", CatalogService.GetStringPrice(totalDiscount), CatalogService.FormatPriceInvariant(shpCart.Coupon.Value), shpCart.Coupon.Code); break; } } } } if (BonusSystem.IsActive) { var bonusCard = BonusSystemService.GetCard(orderConfirmData.Customer.BonusCardNumber); if (bonusCard != null) { if (orderConfirmData.UseBonuses) { var bonusPrice = BonusSystemService.GetBonusCost(productsPrice + shippingPrice - totalDiscount, productsPrice - totalDiscount, bonusCard.BonusAmount); totalDiscount += bonusPrice; lblOrderBonuses.Text = "-" + CatalogService.GetStringPrice(bonusPrice); bonusesRow.Visible = true; } var bonusPlusPrice = BonusSystemService.GetBonusPlusCost(productsPrice + shippingPrice - totalDiscount, productsPrice - totalDiscount, bonusCard.BonusPercent); if (bonusPlusPrice > 0) { liBonusPlus.Text = "+" + CatalogService.GetStringPrice(bonusPlusPrice); bonusPlus.Visible = true; } orderConfirmData.BonusPlus = bonusPlusPrice; } } if (orderConfirmData.SelectedPaymentItem.Type == PaymentType.CashOnDelivery && orderConfirmData.SelectedShippingItem.Ext != null) { shippingPrice = orderConfirmData.SelectedShippingItem.Ext.PriceCash; } var taxesItems = TaxServices.CalculateTaxes(productsPrice - totalDiscount + shippingPrice); var taxesTotal = taxesItems.Where(tax => !tax.Key.ShowInPrice).Sum(item => item.Value); var paymentExtraCharge = orderConfirmData.SelectedPaymentItem.Extracharge; paymentExtraChargeRow.Visible = paymentExtraCharge != 0; if (orderConfirmData.SelectedPaymentItem.ExtrachargeType == ExtrachargeType.Percent) { paymentExtraCharge = paymentExtraCharge * (productsPrice - totalDiscount + shippingPrice + taxesTotal) / 100; } lPaymentCost.Text = paymentExtraCharge > 0 ? Resource.Client_OrderConfirmation_PaymentCost : Resource.Client_OrderConfirmation_PaymentDiscount; var totalPrice = productsPrice - totalDiscount + shippingPrice + paymentExtraCharge + taxesTotal; lblProductsPrice.Text = CatalogService.GetStringPrice(productsPrice); lblShippingPrice.Text = shippingPrice != 0 ? "+" + CatalogService.GetStringPrice(shippingPrice) : orderConfirmData.SelectedShippingItem.ZeroPriceMessage; lblPaymentExtraCharge.Text = (paymentExtraCharge > 0 ? "+" : "") + CatalogService.GetStringPrice(paymentExtraCharge); //todo tax if (taxesItems.Count > 0) { literalTaxCost.Text = BuildTaxTable(taxesItems, CurrencyService.CurrentCurrency.Value, CurrencyService.CurrentCurrency.Iso3); } lblTotalPrice.Text = CatalogService.GetStringPrice(totalPrice > 0 ? totalPrice : 0); orderConfirmData.Sum = totalPrice > 0 ? totalPrice : 0; orderConfirmData.CheckSum = ShoppingCartService.CurrentShoppingCart.GetHashCode(); }
protected void Page_Load(object sender, EventArgs e) { if (EmptyCheck || Order == null) { return; } _currency = (Order.OrderCurrency ?? CurrencyService.Currency("USD")) ?? new Currency { IsCodeBefore = true, Iso3 = "USD", Name = "USD", PriceFormat = CurrencyService.DefaultPriceFormat, Symbol = "$", Value = 1 }; //var check = new Check_PaymentModule(); lCompanyName.Text = _Check.CompanyName; lAddress.Text = _Check.Adress; lCountry.Text = _Check.Country; lState.Text = _Check.State; lCity.Text = _Check.City; lCompanyPhone.Text = _Check.Phone; lInterPhone.Text = _Check.IntPhone; lCompanyFax.Text = _Check.Fax; lOrderDate.Text = AdvantShop.Localization.Culture.ConvertDate(Order.OrderDate); // AdvantShop.Localization.Culture.ConvertDate((DateTime)reader["OrderDate"]); lOrderId.Text = @"#" + Order.OrderID; lShippingMethod.Text = Order.ShippingMethodName; // reader["ShippingMethod"].ToString(); lName.Text = Order.BillingContact.Name; lPhone.Text = Order.OrderCustomer.MobilePhone; //lFax.Text = Order.BillingContact.Fax; //lEmail.Text = Order.BillingContact.Email; lEmail.Text = Order.OrderCustomer.Email; lBillingAddress.Text = Order.BillingContact.Address; lBillingCity.Text = Order.BillingContact.City; lBillingState.Text = Order.BillingContact.Zone; lBillingCountry.Text = Order.BillingContact.Country; lBillingZip.Text = Order.BillingContact.Zip; lShippingAddress.Text = Order.ShippingContact.Address; lShippingCity.Text = Order.ShippingContact.City; lShippingState.Text = Order.ShippingContact.Zone; lShippingCountry.Text = Order.ShippingContact.Country; lShippingZip.Text = Order.ShippingContact.Zip; lSubTotal.Text = EvalPrice((Order.Sum - Order.ShippingCost) * 100.0M / (100 - Order.OrderDiscount)); lShippingCost.Text = EvalPrice(Order.ShippingCost); lDiscount.Text = EvalPrice(Order.OrderDiscount * (Order.Sum - Order.ShippingCost / (100 - Order.OrderDiscount))); var shippingContact = new AdvantShop.Customers.CustomerContact { CountryId = CountryService.GetCountryIdByName(lShippingCountry.Text), RegionId = RegionService.GetRegionIdByName(lShippingState.Text) }; var billingContact = new AdvantShop.Customers.CustomerContact { CountryId = CountryService.GetCountryIdByName(lBillingCountry.Text), RegionId = RegionService.GetRegionIdByName(lBillingState.Text) }; rptOrderItems.DataBind(); IList <OrderItem> dtOrder = Order.OrderItems; var taxedItems = new List <TaxValue>(); foreach (OrderItem item in dtOrder) { ICollection <TaxElement> t = TaxServices.GetTaxesForProduct(item.EntityId, billingContact, shippingContact); foreach (TaxElement tax in t) { TaxValue taxedItem = taxedItems.Find(tv => tv.TaxID == tax.TaxId); if (taxedItem != null) { taxedItem.TaxSum += TaxServices.CalculateTax(item, tax); } else { taxedItems.Add(new TaxValue { TaxID = tax.TaxId, TaxName = tax.Name, TaxShowInPrice = tax.ShowInPrice, TaxSum = TaxServices.CalculateTax(item, tax) }); } } } literalTaxCost.Text = BuildTaxTable(taxedItems, _currency.Value, _currency.Iso3, Resource.Admin_ViewOrder_Taxes); lTotal.Text = EvalPrice(Order.Sum); }
private void UpdateBasket() { try { var shpCart = ShoppingCartService.CurrentShoppingCart; if (shpCart.Count > 0) { lvOrderList.DataSource = shpCart; lvOrderList.DataBind(); lvOrderList.Visible = true; pnlSummary.Visible = true; } else { lvOrderList.Visible = false; pnlSummary.Visible = false; } decimal totalPrice = shpCart.TotalPrice; decimal discountOnTotalPrice = shpCart.DiscountPercentOnTotalPrice; decimal totalDiscount = shpCart.TotalDiscount; decimal shippingPrice = PageData.SelectShippingRate; lblTotalOrderPrice.Text = CatalogService.GetStringPrice(shpCart.TotalPrice); if (discountOnTotalPrice > 0) { discountRow.Visible = true; lblOrderDiscount.Text = string.Format( "<span class=\"per\">-{0}%</span><span class=\"price\">{1}</span>", discountOnTotalPrice, CatalogService.GetStringPrice(totalPrice * discountOnTotalPrice / 100)); } else { discountRow.Visible = false; } if (shpCart.Certificate != null) { certificateRow.Visible = true; lblCertificatePrice.Text = String.Format("-{0}", CatalogService.GetStringPrice(shpCart.Certificate.Sum, 1, shpCart.Certificate.CurrencyCode, shpCart.Certificate.CurrencyValue)); } if (shpCart.Coupon != null) { couponRow.Visible = true; if (shpCart.TotalPrice < shpCart.Coupon.MinimalOrderPrice) { lblCouponPrice.Text = String.Format(Resource.Client_OrderConfirmation_CouponMessage, CatalogService.GetStringPrice(shpCart.Coupon.MinimalOrderPrice)); } else { if (totalDiscount == 0) { lblCouponPrice.Text = String.Format("-{0} ({1})", CatalogService.GetStringPrice(0), shpCart.Coupon.Code); } else { switch (shpCart.Coupon.Type) { case CouponType.Fixed: lblCouponPrice.Text = String.Format("-{0} ({1})", CatalogService.GetStringPrice(totalDiscount), shpCart.Coupon.Code); break; case CouponType.Percent: lblCouponPrice.Text = String.Format("-{0} ({1}%) ({2})", CatalogService.GetStringPrice(totalDiscount), CatalogService.FormatPriceInvariant(shpCart.Coupon.Value), shpCart.Coupon.Code); break; } } } } if (PageData.SelectedPaymentType == PaymentType.CashOnDelivery && PageData.ShippingOptionEx != null) { shippingPrice = PageData.ShippingOptionEx.PriceCash; } var billingContact = PageData.BillingContact; var shippingContact = PageData.ShippingContact; decimal taxesTotal = shpCart.Sum(item => TaxServices.CalculateTaxesTotal(item, shippingContact, billingContact)); var taxesItems = GetTaxItems(shpCart, shippingContact, billingContact); decimal dblTotalPrice = (totalPrice + shippingPrice + taxesTotal - totalDiscount); lblTotalOrderPrice.Text = CatalogService.GetStringPrice(totalPrice); lblShippingPrice.Text = @"+" + CatalogService.GetStringPrice(shippingPrice); if (taxesItems.Count > 0) { literalTaxCost.Text = BuildTaxTable(taxesItems, CurrencyService.CurrentCurrency.Value, CurrencyService.CurrentCurrency.Iso3, Resource.Admin_ViewOrder_Taxes); } lblTotalPrice.Text = CatalogService.GetStringPrice(dblTotalPrice > 0 ? dblTotalPrice : 0); } catch (Exception ex) { Debug.LogError(ex); Message = ex.Message + " at UpdateBasket"; } }
/// <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)); }
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; }
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> " + ord.ShippingContact.Name; lblShipping.Text += @"<br />"; lblShipping.Text += @" <b>" + Resource.Admin_ViewOrder_Country + @"</b> " + ord.ShippingContact.Country + @"<br />"; lblShipping.Text += @" <b>" + Resource.Admin_ViewOrder_City + @"</b> " + ord.ShippingContact.City + @"<br />"; if (ord.ShippingContact.Zone != null) { lblShipping.Text += @" <b>" + Resource.Admin_ViewOrder_Zone + @"</b> " + ord.ShippingContact.Zone.Trim() + @"<br />"; } if (ord.ShippingContact.Zip != null) { lblShipping.Text += @" <b>" + Resource.Admin_ViewOrder_Zip + @"</b> " + ord.ShippingContact.Zip.Trim() + @"<br />"; } lblShipping.Text += @" <b>" + Resource.Admin_ViewOrder_Address + @"</b> " + ord.ShippingContact.Address + @"<br />"; lblBilling.Text = @"<b>" + Resource.Admin_ViewOrder_Name + @"</b> " + ord.BillingContact.Name; lblBilling.Text += @"<br />"; lblBilling.Text += @" <b>" + Resource.Admin_ViewOrder_Country + @"</b> " + ord.BillingContact.Country + @"<br />"; lblBilling.Text += @" <b>" + Resource.Admin_ViewOrder_City + @"</b> " + ord.BillingContact.City + @"<br />"; if (ord.BillingContact.Zone != null) { lblBilling.Text += @" <b>" + Resource.Admin_ViewOrder_Zone + @"</b> " + ord.BillingContact.Zone.Trim() + @"<br />"; } if (ord.BillingContact.Zip != null) { lblBilling.Text += @" <b>" + Resource.Admin_ViewOrder_Zip + @"</b> " + ord.BillingContact.Zip.Trim() + @"<br />"; } lblBilling.Text += @" <b>" + Resource.Admin_ViewOrder_Address + @"</b> " + 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 /> " + ord.CustomerComment; lblUserComments.Visible = true; } lStatusComment.Text = ord.StatusComment; DataListOrderItems.DataSource = ord.OrderItems; DataListOrderItems.DataBind(); } } } catch (Exception ex) { Debug.LogError(ex); } }
protected void Page_Load(object sender, EventArgs e) { var cats = new List <Category> { CategoryService.GetCategory(0) }; Category[] rootCategories = cats.ToArray(); CatalogDataTreeViewForTaxes.RootCategories = rootCategories; var taxIdStr = Request["taxid"]; if (string.IsNullOrEmpty(taxIdStr)) { Response.Redirect("Taxes.aspx", true); return; } int taxId; if (!Int32.TryParse(taxIdStr, out taxId)) { Response.Redirect("Taxes.aspx", true); return; } CurrentTax = TaxServices.GetTax(taxId); Title = CurrentTax.Name; if (!IsPostBack) { _paging = new SqlPaging { TableName = "[Catalog].[TaxRegionRate] JOIN [Customers].[Region] ON [TaxRegionRate].[RegionID] = [Region].[RegionID]", ItemsPerPage = 10 }; var f = new Field { Name = "TaxID" }; var ff = new EqualFieldFilter { ParamName = "@TaxID", Value = CurrentTax.TaxId.ToString(CultureInfo.InvariantCulture) }; f.Filter = ff; _paging.AddField(f); f = new Field { Name = "RegionName", Sorting = SortDirection.Ascending }; _paging.AddField(f); grid.ChangeHeaderImageUrl("arrowName", f.Sorting == SortDirection.Ascending ? "images/arrowup.gif" : "images/arrowdown.gif"); f = new Field { Name = "RegionRate" }; _paging.AddField(f); f = new Field { Name = "[Catalog].[TaxRegionRate].RegionID as RegionID" }; _paging.AddField(f); _paging.CurrentPageIndex = 1; ViewState["Paging"] = _paging; ddlDependsOnAddress.Items.Add(new ListItem(Resources.Resource.Admin_Taxes_DefaultAddress, ((int)TypeRateDepends.Default).ToString(CultureInfo.InvariantCulture))); ddlDependsOnAddress.Items.Add(new ListItem(Resources.Resource.Admin_Taxes_ShippingAddress, ((int)TypeRateDepends.ByShippingAddress).ToString(CultureInfo.InvariantCulture))); ddlDependsOnAddress.Items.Add(new ListItem(Resources.Resource.Admin_Taxes_BillingAddress, ((int)TypeRateDepends.ByBillingAddress).ToString(CultureInfo.InvariantCulture))); ddlDependsOnAddress.SelectedValue = ((int)CurrentTax.DependsOnAddress).ToString(CultureInfo.InvariantCulture); ddlRateType.Items.Add(new ListItem(Resources.Resource.Admin_Taxes_Fixed, ((int)RateType.LumpSum).ToString(CultureInfo.InvariantCulture))); ddlRateType.Items.Add(new ListItem(Resources.Resource.Admin_Taxes_Proportional, ((int)RateType.Proportional).ToString(CultureInfo.InvariantCulture))); ddlRateType.SelectedValue = ((int)CurrentTax.Type).ToString(CultureInfo.InvariantCulture); ddlCountry.DataSource = CountryService.GetAllCountries(); DataBind(); ddlCountry.SelectedValue = CurrentTax.CountryID.ToString(CultureInfo.InvariantCulture); ddlCountry_SelectedIndexChanged(ddlCountry, e); chkEnabled.Checked = CurrentTax.Enabled; } else { _paging = (SqlPaging)ViewState["Paging"]; } }
protected void saveClick(object sender, EventArgs e) { MsgErr(false); CurrentTax.Name = txtName.Text; var cid = Int32.Parse(ddlCountry.SelectedValue); if (CurrentTax.CountryID != cid) { CurrentTax.RegionalRates.Clear(); } CurrentTax.Enabled = chkEnabled.Checked; CurrentTax.CountryID = cid; int priority = 0; if (int.TryParse(txtPriority.Text, out priority)) { CurrentTax.Priority = priority; } else { CurrentTax.Priority = 1; txtPriority.Text = "1"; } decimal fedRate = 0; if (Decimal.TryParse(txtFederalRate.Text, out fedRate)) { CurrentTax.FederalRate = fedRate; } else { CurrentTax.FederalRate = 0; txtFederalRate.Text = @"0.00"; } CurrentTax.DependsOnAddress = ((TypeRateDepends)(Int32.Parse(ddlDependsOnAddress.SelectedValue))); CurrentTax.RegNumber = txtRegNumber.Text; CurrentTax.ShowInPrice = chkShowInPrice.Checked; CurrentTax.Type = (RateType)(Int32.Parse(ddlRateType.SelectedValue)); try { TaxServices.UpdateTax(CurrentTax); Msg(Resources.Resource.Admin_Tax_Saved); formPanel.Update(); } catch (Exception ex) { MsgErr(ex.Message); return; } // Mapping on product ---------------------------------------------------- var sc = CatalogDataTreeViewForTaxes.SelectedCategories; if (sc.Count == 0) { TaxLasyLoad.SetCategorySelectionState("0", CurrentTax.TaxId, false, true); } foreach (var selectedCategory in sc) { int categoryID = selectedCategory.Category.CategoryId; var hasSelectedSubCats = sc.Where(cat => cat.Category.CategoryId != selectedCategory.Category.CategoryId).Any(c => c.Category.ParentCategoryId == categoryID); var hasSelectedProducts = false; foreach (Product product1 in CatalogDataTreeViewForTaxes.SelectedProducts.Where(product1 => CategoryService.GetProductsByCategoryId(categoryID).Where(p => p.ProductId == product1.ProductId).Count() > 0)) { hasSelectedProducts = true; } if (selectedCategory.Full) { //sp.AddRange(selectedCategory.Category.Products); TaxLasyLoad.SetCategorySelectionState(selectedCategory.Category.CategoryId.ToString(CultureInfo.InvariantCulture), CurrentTax.TaxId, true, true); } else { if (hasSelectedSubCats) { //Выполняется очистка выбранных категорий и продуктов для текущей категории TaxLasyLoad.SetCategorySelectionState(selectedCategory.Category.CategoryId.ToString(CultureInfo.InvariantCulture), CurrentTax.TaxId, false, true); //а затем сохранение состояния только для текущей категории TaxLasyLoad.SetCategorySelectionState(selectedCategory.Category.CategoryId.ToString(CultureInfo.InvariantCulture), CurrentTax.TaxId, true, false); //остальные выбранные категории будут сохранены на следующих итерация, а продукты в следующем цикле } else if (hasSelectedProducts) { TaxLasyLoad.SetCategorySelectionState(selectedCategory.Category.CategoryId.ToString(CultureInfo.InvariantCulture), CurrentTax.TaxId, true, false); } } } foreach (Product selectedProduct in CatalogDataTreeViewForTaxes.SelectedProducts) { TaxLasyLoad.SetProductSelectionState(selectedProduct.ProductId, CurrentTax.TaxId); } }
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); } }
protected void grid_Command(object sender, GridViewCommandEventArgs e) { MsgErrRegions(true); switch (e.CommandName) { case "AddNewRegion": { var ddlRegionNew = (DropDownList)grid.FooterRow.FindControl("ddlRegionNew"); if (ValidationHelper.IsValidPositiveIntNumber(ddlRegionNew.SelectedValue)) { var rate = new RegionalRate { RegionId = Int32.Parse(ddlRegionNew.SelectedValue) }; if (!TaxServices.GetRegionalRatesForTax(CurrentTax.TaxId).Any(rr => rr.RegionId == rate.RegionId)) { decimal t; rate.Rate = Decimal.TryParse( ((TextBox)grid.FooterRow.FindControl("txtRegionRateNew")).Text, out t) ? t : 0; if (!TaxServices.AddRegionRateToTax(CurrentTax.TaxId, rate)) { MsgErrRegions(Resources.Resource.Admin_Tax_RegionRateError); } } } regionsPanel.Update(); //grid.ShowFooter = false; } break; case "CancelAdd": grid.ShowFooter = false; regionsPanel.Update(); break; case "Delete": TaxServices.RemoveRegionalRateFromTax(CurrentTax.TaxId, Int32.Parse((string)e.CommandArgument)); break; case "Update": { var regionId = Int32.Parse(((HiddenField)grid.Rows[Int32.Parse(((string)e.CommandArgument))].FindControl("hdRegionId")).Value); decimal rate = 0; decimal t; if (Decimal.TryParse(((TextBox)grid.Rows[Int32.Parse(((string)e.CommandArgument))].FindControl("txtRegionRate")).Text, out t)) { rate = t; } else { rate = 0; } TaxServices.UpdateRegionalRate(CurrentTax.TaxId, regionId, rate); } break; case "Sort": { _paging.Fields.Values.Where(x => x.Name != (string)e.CommandArgument).ToList().ForEach(x => x.Sorting = null); switch ((string)e.CommandArgument) { case "RegionName": { _paging.Fields["RegionName"].Sorting = !_paging.Fields["RegionName"].Sorting.HasValue ? SortDirection.Ascending : (_paging.Fields["RegionName"].Sorting == SortDirection.Ascending ? SortDirection.Descending : SortDirection.Ascending); grid.ChangeHeaderImageUrl("arrowName", _paging.Fields["RegionName"].Sorting == SortDirection.Ascending ? "images/arrowup.gif" : "images/arrowdown.gif"); } break; case "RegionRate": { _paging.Fields["RegionRate"].Sorting = !_paging.Fields["RegionRate"].Sorting.HasValue ? SortDirection.Ascending : (_paging.Fields["RegionRate"].Sorting == SortDirection.Ascending ? SortDirection.Descending : SortDirection.Ascending); grid.ChangeHeaderImageUrl("arrowRate", _paging.Fields["RegionRate"].Sorting == SortDirection.Ascending ? "images/arrowup.gif" : "images/arrowdown.gif"); } break; } } break; } }
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); }
protected int CreateCertificateOrder() { var certificate = new GiftCertificate { CertificateCode = GiftCertificateService.GenerateCertificateCode(), ToName = txtTo.Text, FromName = txtFrom.Text, Sum = Convert.ToSingle(txtSum.Text.Trim()), CertificateMessage = txtMessage.Text, Enable = true, ToEmail = txtEmail.Text }; var orderContact = new OrderContact { Address = string.Empty, City = string.Empty, Country = string.Empty, Name = string.Empty, Zip = string.Empty, Zone = string.Empty }; var taxes = TaxServices.CalculateCertificateTaxes(certificate.Sum); var taxOverPay = taxes.Where(tax => !tax.Key.ShowInPrice).Sum(tax => tax.Value); float orderSum = certificate.Sum + taxOverPay; var payment = PaymentService.GetPaymentMethod(hfPaymentMethod.Value.TryParseInt()); float paymentPrice = payment.Extracharge == 0 ? 0 : (payment.ExtrachargeType == ExtrachargeType.Fixed ? payment.Extracharge : payment.Extracharge / 100 * certificate.Sum + taxOverPay); var baseCurrency = CurrencyService.BaseCurrency; var order = new Order { OrderDate = DateTime.Now, OrderCustomer = new OrderCustomer { CustomerID = CustomerContext.CurrentCustomer.Id, Email = txtEmailFrom.Text, FirstName = CustomerContext.CurrentCustomer.FirstName, LastName = CustomerContext.CurrentCustomer.LastName, CustomerIP = HttpContext.Current.Request.UserHostAddress }, OrderCurrency = new OrderCurrency { //CurrencyCode = CurrencyService.CurrentCurrency.Iso3, //CurrencyNumCode = CurrencyService.CurrentCurrency.NumIso3, //CurrencyValue = CurrencyService.CurrentCurrency.Value, //CurrencySymbol = CurrencyService.CurrentCurrency.Symbol, //IsCodeBefore = CurrencyService.CurrentCurrency.IsCodeBefore CurrencyCode = baseCurrency.Iso3, CurrencyValue = baseCurrency.Value, CurrencySymbol = baseCurrency.Symbol, CurrencyNumCode = baseCurrency.NumIso3, IsCodeBefore = baseCurrency.IsCodeBefore }, OrderStatusId = OrderService.DefaultOrderStatus, AffiliateID = 0, ArchivedShippingName = Resource.Client_GiftCertificate_DeliveryByEmail, PaymentMethodId = Convert.ToInt32(hfPaymentMethod.Value), ArchivedPaymentName = payment.Name, PaymentDetails = null, Sum = orderSum + paymentPrice, PaymentCost = paymentPrice, OrderCertificates = new List <GiftCertificate> { certificate }, TaxCost = taxes.Sum(tax => tax.Value), Taxes = taxes.Select(tax => new OrderTax() { TaxID = tax.Key.TaxId, TaxName = tax.Key.Name, TaxShowInPrice = tax.Key.ShowInPrice, TaxSum = tax.Value }).ToList(), ShippingContact = orderContact, BillingContact = orderContact, Number = OrderService.GenerateNumber(1) }; if (order.PaymentMethod.Type == PaymentType.QIWI) { order.PaymentDetails = new PaymentDetails() { Phone = txtPhone.Text }; } OrderId = order.OrderID = OrderService.AddOrder(order); OrderNumber = order.Number = OrderService.GenerateNumber(order.OrderID); OrderService.UpdateNumber(order.OrderID, order.Number); OrderService.ChangeOrderStatus(order.OrderID, OrderService.DefaultOrderStatus); string email = txtEmailFrom.Text; string htmlOrderTable = OrderService.GenerateHtmlOrderCertificateTable(order.OrderCertificates, CurrencyService.CurrentCurrency, order.PaymentCost, order.TaxCost); var orderMailTemplate = new NewOrderMailTemplate(order.OrderID.ToString(), order.Number, email, string.Empty, order.ArchivedShippingName, order.ArchivedPaymentName, htmlOrderTable, CurrencyService.CurrentCurrency.Iso3, order.Sum.ToString(), order.CustomerComment, OrderService.GetBillingLinkHash(order)); orderMailTemplate.BuildMail(); SendMail.SendMailNow(email, orderMailTemplate.Subject, orderMailTemplate.Body, true); SendMail.SendMailNow(SettingsMail.EmailForOrders, orderMailTemplate.Subject, orderMailTemplate.Body, true); return(OrderId); }
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; }