protected void Page_PreRender(object sender, EventArgs e)
        {
            // TAX CLOUD TIC FIELD
            TaxCloudProvider taxCloudProvider = ProviderHelper.LoadTaxProvider <TaxCloudProvider>();

            trTIC.Visible = taxCloudProvider != null && taxCloudProvider.Activated;
        }
        protected void Page_PreRender(object sender, EventArgs e)
        {
            //Calculate billable weight
            billableWeightLink.Visible = _Product.Weight > 0;
            if (billableWeightLink.Visible)
            {
                ProductWeightLabel.Text = string.Format(ProductWeightLabel.Text, _Product.Weight);

                if (_Product.Height > 0 && _Product.Width > 0 && _Product.Length > 0)
                {
                    decimal productDimensions   = _Product.Height * _Product.Width * _Product.Length;
                    decimal domesticWeight      = productDimensions / 166;
                    decimal internationalWeight = productDimensions / 139;
                    DomesticLabel.Text      = string.Format(DomesticLabel.Text, domesticWeight);
                    InternationalLabel.Text = string.Format(InternationalLabel.Text, internationalWeight);
                }
                else
                {
                    trDimensionalWeightText.Visible = true;
                    trDomesticWeight.Visible        = false;
                    trInternationalWeight.Visible   = false;
                }
            }

            // TAX CLOUD TIC FIELD
            TaxCloudProvider taxCloudProvider = ProviderHelper.LoadTaxProvider <TaxCloudProvider>();

            trTIC.Visible = taxCloudProvider != null && taxCloudProvider.Activated;

            //Get File Names Uploaded
            string replaceText = "Assets/PDF/";

            if (_Product.CustomFields.Count > 0)
            {
                foreach (var rec in _Product.CustomFields)
                {
                    switch (rec.FieldName)
                    {
                    case "Download1":
                        FileName1.Text = rec.FieldValue.Replace(replaceText, "");
                        break;

                    case "Download2":
                        FileName2.Text = rec.FieldValue.Replace(replaceText, "");
                        break;

                    case "Download3":
                        FileName3.Text = rec.FieldValue.Replace(replaceText, "");
                        break;

                    default:
                        break;
                    }
                }
            }
        }
示例#3
0
        protected void TestButton_Click(object sender, EventArgs e)
        {
            TaxCloudProvider provider = (TaxCloudProvider)_TaxGateway.GetProviderInstance();
            PingRsp          result   = provider.Ping(_TaxProvider.ApiId, _TaxProvider.ApiKey);

            TestResultPanel.Visible = true;
            TestResultCode.Text     = result.ResponseType.ToString();
            if (result.Messages != null && result.Messages.Length > 0)
            {
                TestResultMessageLine.Visible = true;
                TestResultMessage.Text        = result.Messages[0].Message;
            }
        }
示例#4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            _TaxGatewayId = TaxGatewayDataSource.GetTaxGatewayIdByClassId(Misc.GetClassId(typeof(TaxCloudProvider)));
            if (_TaxGatewayId > 0)
            {
                _TaxGateway = TaxGatewayDataSource.Load(_TaxGatewayId);
            }
            if (_TaxGateway != null)
            {
                _TaxProvider = _TaxGateway.GetProviderInstance() as TaxCloudProvider;
            }
            if (_TaxProvider == null)
            {
                _TaxProvider = new TaxCloudProvider();
            }

            if (_TaxGateway == null)
            {
                _TaxGateway = new TaxGateway();

                _TaxGateway.ClassId = Misc.GetClassId(typeof(TaxCloudProvider));
                _TaxGateway.Name    = _TaxProvider.Name;
                _TaxGateway.Store   = AbleContext.Current.Store;
            }

            if (!Page.IsPostBack)
            {
                EnableTaxCloud.Checked = _TaxProvider.EnableTaxCloud;
                ApiId.Text             = _TaxProvider.ApiId;
                ApiKey.Text            = _TaxProvider.ApiKey;

                DefaultTIC.Text  = _TaxProvider.DefaultTIC;
                ShippingTIC.Text = _TaxProvider.ShippingTIC;
                HandlingTIC.Text = _TaxProvider.HandlingTIC;
                GiftwrapTIC.Text = _TaxProvider.GiftwrapTIC;

                USPSUserId.Text    = _TaxProvider.USPSUserId;
                TaxServiceUrl.Text = _TaxProvider.TaxServiceUrl;
                DebugMode.Checked  = _TaxProvider.UseDebugMode;
                EnableAddressValidation.Checked = _TaxProvider.EnableAddressValidation;
                TaxName.Text                    = _TaxProvider.TaxName;
                UseTaxExemption.Checked         = _TaxProvider.UseTaxExemption;
                TaxReportMode_Summary.Checked   = !_TaxProvider.RecordTaxBreakdown;
                TaxReportMode_Breakdown.Checked = !TaxReportMode_Summary.Checked;
                SummaryTaxName.Text             = _TaxProvider.SummaryTaxName;
            }
        }
        protected void Page_Init(object sender, EventArgs e)
        {
            _OrderId = AbleCommerce.Code.PageHelper.GetOrderId();
            _Order   = OrderDataSource.Load(_OrderId);
            if (_Order == null)
            {
                Response.Redirect("Default.aspx");
            }
            string suffix = "?OrderNumber=" + _Order.OrderNumber;

            AddProductLink.NavigateUrl    += suffix;
            AddOtherItemLink.NavigateUrl  += suffix;
            RecalculateTaxesButton.Visible = TaxHelper.IsATaxProviderEnabled();
            BindGrids();

            TaxExemptionMessagePanel.Visible = !string.IsNullOrEmpty(this._Order.TaxExemptionReference);
            if (TaxExemptionMessagePanel.Visible)
            {
                TaxExemptionMessage.Text = string.Format(TaxExemptionMessage.Text, this._Order.TaxExemptionReference);
            }

            // WE DON'T SUPPORT TAX CLOUD TAX RECALCULATION
            TaxGateway       taxGateway  = null;
            TaxCloudProvider taxProvider = null;
            int taxGatewayId             = TaxGatewayDataSource.GetTaxGatewayIdByClassId(Misc.GetClassId(typeof(TaxCloudProvider)));

            if (taxGatewayId > 0)
            {
                taxGateway = TaxGatewayDataSource.Load(taxGatewayId);
            }
            if (taxGateway != null)
            {
                taxProvider = taxGateway.GetProviderInstance() as TaxCloudProvider;
            }
            if (taxProvider != null && taxProvider.EnableTaxCloud)
            {
                TaxCloudWarningMessagePanel.Visible = true;
                TaxCloudReclaculationMessage.Text   = string.Format(TaxCloudReclaculationMessage.Text, _Order.OrderNumber);
            }
        }
示例#6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string certID = Request["certificateID"];

            TaxGateway       taxGateway  = null;
            TaxCloudProvider taxProvider = null;
            int taxGatewayId             = TaxGatewayDataSource.GetTaxGatewayIdByClassId(Misc.GetClassId(typeof(TaxCloudProvider)));

            if (taxGatewayId > 0)
            {
                taxGateway = TaxGatewayDataSource.Load(taxGatewayId);
            }
            if (taxGateway != null)
            {
                taxProvider = taxGateway.GetProviderInstance() as TaxCloudProvider;
            }

            if (taxProvider != null)
            {
                taxProvider.RemoveExemptionCert(certID);
            }
        }
        //USE PRERENDER TO ALLOW FOR CALCULATIONS TO BASKET CONTENTS
        protected void Page_PreRender(object sender, EventArgs e)
        {
            decimal productsTotal = 0;
            decimal subtotal      = 0;
            decimal gstTotal      = 0;
            decimal shipping      = 0;
            decimal handling      = 0;
            Dictionary <string, decimal> taxes = new Dictionary <string, decimal>();
            decimal totalTaxAmount             = 0;
            decimal coupons          = 0;
            decimal discounts        = 0;
            decimal total            = 0;
            decimal giftwrap         = 0;
            int     numberOfProducts = 0;
            decimal giftCodes        = 0;
            Basket  basket           = AbleContext.Current.User.Basket;

            foreach (BasketItem item in basket.Items)
            {
                decimal extendedPrice = InvoiceHelper.GetInvoiceExtendedPrice(item); /*TaxHelper.GetInvoiceExtendedPrice(AbleContext.Current.User.Basket, item);*/

                switch (item.OrderItemType)
                {
                case OrderItemType.Product:
                    bool countItem = !item.IsChildItem;
                    if (!countItem)
                    {
                        BasketItem parentItem = item.GetParentItem(false);
                        if (parentItem != null)
                        {
                            countItem = parentItem.Product.IsKit && parentItem.Product.Kit.ItemizeDisplay;
                        }
                    }
                    if (countItem)
                    {
                        productsTotal    += extendedPrice;
                        subtotal         += extendedPrice;
                        gstTotal         += ((extendedPrice * (decimal)1.1) - extendedPrice);
                        numberOfProducts += item.Quantity;
                    }
                    else
                    {
                        // zero out the ext price - it is included with the parent
                        extendedPrice = 0;
                    }
                    break;

                case OrderItemType.Shipping:
                    shipping += extendedPrice;
                    break;

                case OrderItemType.Handling:
                    BasketShipment shipment = item.Shipment;
                    if (shipment != null && shipment.ShipMethod != null && shipment.ShipMethod.SurchargeIsVisible)
                    {
                        handling += extendedPrice;
                    }
                    else
                    {
                        shipping += extendedPrice;
                    }
                    break;

                case OrderItemType.Tax:
                    if (taxes.ContainsKey(item.Name + ":"))
                    {
                        taxes[item.Name + ":"] += extendedPrice;
                    }
                    else
                    {
                        taxes[item.Name + ":"] = extendedPrice;
                    }
                    totalTaxAmount += extendedPrice;
                    break;

                case OrderItemType.Coupon:
                    coupons += extendedPrice;
                    break;

                case OrderItemType.GiftWrap:
                    giftwrap += extendedPrice;
                    break;

                case OrderItemType.Discount:
                    discounts += extendedPrice;
                    subtotal  += extendedPrice;
                    break;

                case OrderItemType.GiftCertificatePayment:
                    giftCodes += extendedPrice;
                    break;

                default:
                    subtotal += extendedPrice;
                    break;
                }
                total += (extendedPrice * (decimal)1.1);
            }
            ProductTotalLabel.Text = string.Format(ProductTotalLabel.Text, numberOfProducts);
            ProductTotal.Text      = productsTotal.LSCurrencyFormat("ulc");
            Subtotal.Text          = subtotal.LSCurrencyFormat("ulc");
            GstTotal.Text          = gstTotal.LSCurrencyFormat("ulc");
            // DISCOUNT ROW VISIBILITY
            if (discounts != 0)
            {
                trDiscounts.Visible = true;
                Discounts.Text      = discounts.LSCurrencyFormat("ulc");
            }
            else
            {
                trDiscounts.Visible = false;
            }

            if (giftwrap != 0)
            {
                trGiftWrap.Visible = true;
                GiftWrap.Text      = giftwrap.LSCurrencyFormat("ulc");
            }
            else
            {
                trGiftWrap.Visible = false;
            }

            if (this.ShowTaxes &&
                AbleContext.Current.User.PrimaryAddress.IsValid &&
                TaxHelper.GetEffectiveInvoiceDisplay(AbleContext.Current.User) != TaxInvoiceDisplay.Included)
            {
                if (ShowTaxBreakdown)
                {
                    TaxesBreakdownRepeater.DataSource = taxes;
                    TaxesBreakdownRepeater.DataBind();
                    TaxesBreakdownRepeater.Visible = true;
                    trTax.Visible = false;
                }
                else
                {
                    TaxesLabel.Text = totalTaxAmount.LSCurrencyFormat("ulc");
                    TaxesBreakdownRepeater.Visible = false;
                    trTax.Visible = true;
                }
            }
            else
            {
                // TAXES ARE NOT DISPLAYED, REMOVE ANY TAX FROM THE TOTAL
                total -= totalTaxAmount;
                TaxesBreakdownRepeater.Visible = false;
                trTax.Visible = false;
                trTaxCloudTaxExemption.Visible = false;
            }

            // SHIPPING SHOULD NOT BE VISIBLE WHEN USER BILLING ADDRESS IS NOT SELECTED
            Shipping.Text = shipping.LSCurrencyFormat("ulc");
            if (!basket.User.PrimaryAddress.IsValid)
            {
                trShipping.Visible = false;
            }
            else if (shipping > 0)
            {
                trShipping.Visible = true;
            }
            else
            {
                trShipping.Visible = ShowShipping;
            }

            if (handling > 0 && trShipping.Visible)
            {
                trHandling.Visible = true;
                Handling.Text      = handling.LSCurrencyFormat("ulc");
            }
            else
            {
                trHandling.Visible = false;
            }

            if (giftCodes != 0)
            {
                trGifCodes.Visible = true;
                GifCodes.Text      = giftCodes.LSCurrencyFormat("ulc");
            }
            else
            {
                trGifCodes.Visible = false;
            }

            // COUPON ROW VISIBILITY
            if (coupons != 0)
            {
                trCoupon.Visible = true;
                Coupons.Text     = coupons.LSCurrencyFormat("ulc");
            }
            else
            {
                trCoupon.Visible = false;
            }

            trCouponsDivider.Visible = trCoupon.Visible || trGifCodes.Visible;

            Total.Text = total.LSCurrencyFormat("ulc");
            TotalPendingMessagePanel.Visible = this.ShowMessage;

            TaxCloudProvider taxProvider = ProviderHelper.LoadTaxProvider <TaxCloudProvider>();

            if (taxProvider != null && taxProvider.EnableTaxCloud && ShowTaxes && taxes.Count > 0 && taxProvider.UseTaxExemption)
            {
                trTaxCloudTaxExemption.Visible = true;
            }
        }
示例#8
0
        private void InitializeBasketContents()
        {
            decimal productsTotal = 0;
            decimal subtotal      = 0;
            decimal shipping      = 0;
            decimal handling      = 0;
            Dictionary <string, decimal> taxes = new Dictionary <string, decimal>();
            decimal totalTaxAmount             = 0;
            decimal total            = 0;
            int     numberOfProducts = 0;
            decimal giftCodes        = 0;
            Basket  basket           = AbleContext.Current.User.Basket;

            if (!_Recalculated)
            {
                IBasketService preCheckoutService = AbleContext.Resolve <IBasketService>();
                preCheckoutService.Recalculate(basket);
                preCheckoutService.Combine(basket);
                _Recalculated = true;
            }
            foreach (BasketItem item in basket.Items)
            {
                decimal extendedPrice = AbleCommerce.Code.InvoiceHelper.GetInvoiceExtendedPrice(item);
                switch (item.OrderItemType)
                {
                case OrderItemType.Product:
                    bool countItem = !item.IsChildItem;
                    if (!countItem)
                    {
                        BasketItem parentItem = item.GetParentItem(false);
                        if (parentItem != null)
                        {
                            countItem = parentItem.Product.IsKit && parentItem.Product.Kit.ItemizeDisplay;
                        }
                    }
                    if (countItem)
                    {
                        productsTotal    += extendedPrice;
                        subtotal         += extendedPrice;
                        numberOfProducts += item.Quantity;
                    }
                    else
                    {
                        // zero out the ext price - it is included with the parent
                        extendedPrice = 0;
                    }
                    break;

                case OrderItemType.Shipping:
                    shipping += extendedPrice;
                    break;

                case OrderItemType.Handling:
                    BasketShipment shipment = item.Shipment;
                    if (shipment != null && shipment.ShipMethod != null && shipment.ShipMethod.SurchargeIsVisible)
                    {
                        handling += extendedPrice;
                    }
                    else
                    {
                        shipping += extendedPrice;
                    }
                    break;

                case OrderItemType.Tax:
                    TaxInvoiceDisplay taxDisplay = TaxHelper.GetEffectiveInvoiceDisplay(AbleContext.Current.User);
                    if (taxDisplay == TaxInvoiceDisplay.Summary)
                    {
                        if (taxes.ContainsKey(item.Name))
                        {
                            taxes[item.Name] += extendedPrice;
                        }
                        else
                        {
                            taxes[item.Name] = extendedPrice;
                        }
                    }
                    else if (taxDisplay != TaxInvoiceDisplay.Included)
                    {
                        subtotal += extendedPrice;
                    }
                    totalTaxAmount += extendedPrice;
                    break;

                case OrderItemType.GiftCertificatePayment:
                    giftCodes += extendedPrice;
                    break;

                default:
                    subtotal += extendedPrice;
                    break;
                }
                total += extendedPrice;
            }

            Subtotal.Text = subtotal.LSCurrencyFormat("ulc");

            TaxInvoiceDisplay taxInvoiceDisplay = TaxHelper.GetEffectiveInvoiceDisplay(AbleContext.Current.User);

            if (AbleContext.Current.User.PrimaryAddress.IsValid &&
                taxInvoiceDisplay == TaxInvoiceDisplay.Summary)
            {
                TaxesBreakdownRepeater.DataSource = taxes;
                TaxesBreakdownRepeater.DataBind();
                if (ShowTaxBreakdown)
                {
                    TaxesBreakdownRepeater.Visible = true;
                    trTax.Visible = false;
                }
                else
                {
                    TaxesLabel.Text = totalTaxAmount.LSCurrencyFormat("ulc");
                    TaxesBreakdownRepeater.Visible = false;
                    trTax.Visible = true;
                }
            }
            else
            {
                // TAXES ARE NOT DISPLAYED, REMOVE ANY TAX FROM THE TOTAL
                if (taxInvoiceDisplay == TaxInvoiceDisplay.Included)
                {
                    total -= totalTaxAmount;
                }
                TaxesBreakdownRepeater.Visible = false;
                trTax.Visible = false;
            }

            // SHIPPING SHOULD NOT BE VISIBLE WHEN USER BILLING ADDRESS IS NOT SELECTED
            Shipping.Text = shipping.LSCurrencyFormat("ulc");
            if (!basket.User.PrimaryAddress.IsValid)
            {
                trShipping.Visible = false;
            }
            else if (shipping > 0)
            {
                trShipping.Visible = true;
            }
            else
            {
                trShipping.Visible = ShowShipping;
            }

            if (handling > 0)
            {
                trHandling.Visible = trShipping.Visible;
                Handling.Text      = handling.LSCurrencyFormat("ulc");
            }
            else
            {
                trHandling.Visible = false;
            }

            if (giftCodes != 0)
            {
                trGifCodes.Visible = true;
                GifCodes.Text      = giftCodes.LSCurrencyFormat("ulc");
            }
            else
            {
                trGifCodes.Visible = false;
            }

            trCouponsDivider.Visible = trGifCodes.Visible;

            Total.Text = total.LSCurrencyFormat("ulc");
            TotalPendingMessagePanel.Visible = this.ShowMessage;


            // ENABLE THE TAXCLOUD Exemption link only if taxcloud is configured and there are tax line items
            TaxGateway       taxGateway  = null;
            TaxCloudProvider taxProvider = null;
            int taxGatewayId             = TaxGatewayDataSource.GetTaxGatewayIdByClassId(Misc.GetClassId(typeof(TaxCloudProvider)));

            if (taxGatewayId > 0)
            {
                taxGateway = TaxGatewayDataSource.Load(taxGatewayId);
            }
            if (taxGateway != null)
            {
                taxProvider = taxGateway.GetProviderInstance() as TaxCloudProvider;
            }

            if (taxProvider == null || !taxProvider.EnableTaxCloud || taxes.Count == 0)
            {
                TaxCloudTaxExemptionCert1.Visible = false;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            string exemptState = Request["ExemptState"];

            string singlePurchaseOrderNumber = Request["SinglePurchaseOrderNumber"];
            string blanketPurchase           = Request["BlanketPurchase"];

            string purchaserFirstName    = Request["PurchaserFirstName"];
            string purchaserLastName     = Request["PurchaserLastName"];
            string purchaserAddress1     = Request["PurchaserAddress1"];
            string purchaserCity         = Request["PurchaserCity"];
            string purchaserState        = Request["PurchaserState"];                   //
            string purchaserZip          = Request["PurchaserZip"];
            string taxType               = Request["TaxType"];                          //
            string idNumber              = Request["IDNumber"];
            string stateOfIssue          = Request["StateOfIssue"];                     //
            string countryOfIssue        = Request["CountryOfIssue"];                   //
            string purchaserBusinessType = Request["PurchaserBusinessType"];            //
            //	string purchaserBusinessTypeOtherValue = Request["PurchaserBusinessTypeOtherValue"];  //optional
            string purchaserExemptionReason      = Request["PurchaserExemptionReason"]; //
            string purchaserExemptionReasonValue = Request["PurchaserExemptionReasonValue"];

            if (purchaserFirstName.Contains(" "))
            {
                string[] nameparts = purchaserFirstName.Split(' ');
                purchaserFirstName = nameparts[0];
                purchaserLastName  = nameparts[1];
            }

            if (!isset(exemptState) || !isset(blanketPurchase) || !isset(purchaserFirstName) || !isset(purchaserAddress1) ||
                !isset(purchaserCity) || !isset(purchaserState) || !isset(purchaserZip) || !isset(taxType) || !isset(idNumber) ||
                !isset(stateOfIssue) || !isset(countryOfIssue) || !isset(purchaserBusinessType) || !isset(purchaserExemptionReason) || !isset(purchaserExemptionReasonValue))
            {
                return;
            }
            else
            {
                TaxGateway       taxGateway  = null;
                TaxCloudProvider taxProvider = null;
                int taxGatewayId             = TaxGatewayDataSource.GetTaxGatewayIdByClassId(Misc.GetClassId(typeof(TaxCloudProvider)));
                if (taxGatewayId > 0)
                {
                    taxGateway = TaxGatewayDataSource.Load(taxGatewayId);
                }
                if (taxGateway != null)
                {
                    taxProvider = taxGateway.GetProviderInstance() as TaxCloudProvider;
                }

                if (taxProvider == null)
                {
                    return;
                }

                taxProvider.SetExemptionCert(AbleContext.Current.User, exemptState, AlwaysConvert.ToBool(blanketPurchase, false), singlePurchaseOrderNumber, purchaserFirstName, purchaserLastName, purchaserAddress1, purchaserCity, purchaserState, purchaserZip, taxType, idNumber, stateOfIssue, countryOfIssue, purchaserBusinessType, purchaserExemptionReason, purchaserExemptionReasonValue);

                // recalculate the current user basket
                Basket basket = AbleContext.Current.User.Basket;
                basket.ContentHash = string.Empty;
                IBasketService preCheckoutService = AbleContext.Resolve <IBasketService>();
                preCheckoutService.Recalculate(basket);
            }
        }