/// <summary>
        /// Gets a tax provider
        /// </summary>
        /// <param name="TaxProviderID">Tax provider identifier</param>
        /// <returns>Tax provider</returns>
        public static TaxProvider GetTaxProviderByID(int TaxProviderID)
        {
            if (TaxProviderID == 0)
            {
                return(null);
            }

            string key  = string.Format(TAXPROVIDERS_BY_ID_KEY, TaxProviderID);
            object obj2 = NopCache.Get(key);

            if (TaxProviderManager.CacheEnabled && (obj2 != null))
            {
                return((TaxProvider)obj2);
            }

            DBTaxProvider dbItem = DBProviderManager <DBTaxProviderProvider> .Provider.GetTaxProviderByID(TaxProviderID);

            TaxProvider taxProvider = DBMapping(dbItem);

            if (TaxProviderManager.CacheEnabled)
            {
                NopCache.Max(key, taxProvider);
            }
            return(taxProvider);
        }
        /// <summary>
        /// Updates the tax provider
        /// </summary>
        /// <param name="taxProvider">Tax provider</param>
        public void UpdateTaxProvider(TaxProvider taxProvider)
        {
            if (taxProvider == null)
            {
                throw new ArgumentNullException("taxProvider");
            }

            taxProvider.Name                  = CommonHelper.EnsureNotNull(taxProvider.Name);
            taxProvider.Name                  = CommonHelper.EnsureMaximumLength(taxProvider.Name, 100);
            taxProvider.Description           = CommonHelper.EnsureNotNull(taxProvider.Description);
            taxProvider.Description           = CommonHelper.EnsureMaximumLength(taxProvider.Description, 4000);
            taxProvider.ConfigureTemplatePath = CommonHelper.EnsureNotNull(taxProvider.ConfigureTemplatePath);
            taxProvider.ConfigureTemplatePath = CommonHelper.EnsureMaximumLength(taxProvider.ConfigureTemplatePath, 500);
            taxProvider.ClassName             = CommonHelper.EnsureNotNull(taxProvider.ClassName);
            taxProvider.ClassName             = CommonHelper.EnsureMaximumLength(taxProvider.ClassName, 500);


            if (!_context.IsAttached(taxProvider))
            {
                _context.TaxProviders.Attach(taxProvider);
            }

            _context.SaveChanges();

            if (this.CacheEnabled)
            {
                _cacheManager.RemoveByPattern(TAXPROVIDERS_PATTERN_KEY);
            }
        }
Пример #3
0
        protected TaxProvider Save()
        {
            TaxProvider taxProvider = new TaxProvider()
            {
                Name = txtName.Text,
                Description = txtDescription.Text,
                ConfigureTemplatePath = txtConfigureTemplatePath.Text,
                ClassName = txtClassName.Text,
                DisplayOrder = txtDisplayOrder.Value
            };
            this.TaxProviderService.InsertTaxProvider(taxProvider);

            return taxProvider;
        }
        /// <summary>
        /// Updates the tax provider
        /// </summary>
        /// <param name="TaxProviderID">The tax provider identifier</param>
        /// <param name="Name">The name</param>
        /// <param name="Description">The description</param>
        /// <param name="ConfigureTemplatePath">The configure template path</param>
        /// <param name="ClassName">The class name</param>
        /// <param name="DisplayOrder">The display order</param>
        /// <returns>Tax provider</returns>
        public static TaxProvider UpdateTaxProvider(int TaxProviderID, string Name, string Description,
                                                    string ConfigureTemplatePath, string ClassName, int DisplayOrder)
        {
            DBTaxProvider dbItem = DBProviderManager <DBTaxProviderProvider> .Provider.UpdateTaxProvider(TaxProviderID, Name,
                                                                                                         Description, ConfigureTemplatePath, ClassName, DisplayOrder);

            TaxProvider taxProvider = DBMapping(dbItem);

            if (TaxProviderManager.CacheEnabled)
            {
                NopCache.RemoveByPattern(TAXPROVIDERS_PATTERN_KEY);
            }
            return(taxProvider);
        }
        private static TaxProviderCollection DBMapping(DBTaxProviderCollection dbCollection)
        {
            if (dbCollection == null)
            {
                return(null);
            }

            TaxProviderCollection collection = new TaxProviderCollection();

            foreach (DBTaxProvider dbItem in dbCollection)
            {
                TaxProvider item = DBMapping(dbItem);
                collection.Add(item);
            }

            return(collection);
        }
Пример #6
0
        private static TaxProvider DBMapping(DBTaxProvider dbItem)
        {
            if (dbItem == null)
            {
                return(null);
            }

            var item = new TaxProvider();

            item.TaxProviderId         = dbItem.TaxProviderId;
            item.Name                  = dbItem.Name;
            item.Description           = dbItem.Description;
            item.ConfigureTemplatePath = dbItem.ConfigureTemplatePath;
            item.ClassName             = dbItem.ClassName;
            item.DisplayOrder          = dbItem.DisplayOrder;

            return(item);
        }
Пример #7
0
        /// <summary>
        /// Gets tax rate
        /// </summary>
        /// <param name="productVariant">Product variant</param>
        /// <param name="TaxClassID">Tax class identifier</param>
        /// <param name="customer">Customer</param>
        /// <param name="Error">Error</param>
        /// <returns>Tax rate</returns>
        public static decimal GetTaxRate(ProductVariant productVariant, int TaxClassID, Customer customer, ref string Error)
        {
            bool isFreeTax = IsFreeTax(productVariant, customer);

            if (isFreeTax)
            {
                return(decimal.Zero);
            }

            CalculateTaxRequest calculateTaxRequest = CreateCalculateTaxRequest(productVariant, TaxClassID, customer);

            TaxProvider activeTaxProvider = TaxManager.ActiveTaxProvider;

            if (activeTaxProvider == null)
            {
                throw new NopException("Tax provider could not be loaded");
            }
            ITaxProvider iTaxProvider = Activator.CreateInstance(Type.GetType(activeTaxProvider.ClassName)) as ITaxProvider;

            decimal taxRate = iTaxProvider.GetTaxRate(calculateTaxRequest, ref Error);

            return(taxRate);
        }
Пример #8
0
        /// <summary>
        /// Updates the tax provider
        /// </summary>
        /// <param name="taxProvider">Tax provider</param>
        public void UpdateTaxProvider(TaxProvider taxProvider)
        {
            if (taxProvider == null)
                throw new ArgumentNullException("taxProvider");

            taxProvider.Name = CommonHelper.EnsureNotNull(taxProvider.Name);
            taxProvider.Name = CommonHelper.EnsureMaximumLength(taxProvider.Name, 100);
            taxProvider.Description = CommonHelper.EnsureNotNull(taxProvider.Description);
            taxProvider.Description = CommonHelper.EnsureMaximumLength(taxProvider.Description, 4000);
            taxProvider.ConfigureTemplatePath = CommonHelper.EnsureNotNull(taxProvider.ConfigureTemplatePath);
            taxProvider.ConfigureTemplatePath = CommonHelper.EnsureMaximumLength(taxProvider.ConfigureTemplatePath, 500);
            taxProvider.ClassName = CommonHelper.EnsureNotNull(taxProvider.ClassName);
            taxProvider.ClassName = CommonHelper.EnsureMaximumLength(taxProvider.ClassName, 500);

            if (!_context.IsAttached(taxProvider))
                _context.TaxProviders.Attach(taxProvider);

            _context.SaveChanges();

            if (this.CacheEnabled)
            {
                _cacheManager.RemoveByPattern(TAXPROVIDERS_PATTERN_KEY);
            }
        }