示例#1
0
        public decimal GetShippingTax(CartModel cart)
        {
            CountryBasedShippingCalculation calculation = GetBestAvailableCalculation(cart);

            return(calculation == null
                ? decimal.Zero
                : calculation.Tax(TaxRatePercentage));
        }
示例#2
0
        public static IEnumerable <string> CountryCodes(
            this CountryBasedShippingCalculation countryBasedShippingCalculation)
        {
            string countries = countryBasedShippingCalculation.Countries ?? string.Empty;

            return(countries.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries)
                   .Select(s => s.Trim().ToUpperInvariant()));
        }
示例#3
0
        public RedirectToRouteResult Edit_POST(
            [IoCModelBinder(typeof(CountryBasedShippingCalculationModelBinder))] CountryBasedShippingCalculation
            countryBasedShippingCalculation)
        {
            _countryBasedShippingCalculationAdminService.Update(countryBasedShippingCalculation);

            return(RedirectToAction("Configure", "CountryBasedShipping"));
        }
示例#4
0
        public bool CanPotentiallyBeUsed(CartModel cart)
        {
            if (cart == null || cart.Items.Any(item => !item.IsAbleToUseShippingMethod(this)))
            {
                return(false);
            }
            CountryBasedShippingCalculation calculation = GetBestAvailableCalculation(cart);

            return(calculation != null);
        }
示例#5
0
        public static string DisplayCountries(
            this CountryBasedShippingCalculation countryBasedShippingCalculation)
        {
            List <string> countryCodes = countryBasedShippingCalculation.CountryCodes().ToList();
            var           session      = MrCMSApplication.Get <ISession>();

            IList <string> names =
                session.QueryOver <Country>()
                .Where(country => country.ISOTwoLetterCode.IsIn(countryCodes))
                .OrderBy(country => country.Name)
                .Asc.Select(country => country.Name)
                .Cacheable()
                .List <string>();

            return(string.Join(", ", names));
        }
示例#6
0
 public ViewResult Edit(CountryBasedShippingCalculation calculation)
 {
     ViewData["criteria-options"] = _countryBasedShippingCalculationAdminService.GetCriteriaOptions();
     ViewData["country-options"]  = _countryBasedShippingCalculationAdminService.GetCountryOptions();
     return(View(calculation));
 }
示例#7
0
 public void Update(CountryBasedShippingCalculation countryBasedShippingCalculation)
 {
     _session.Transact(session => session.Update(countryBasedShippingCalculation));
 }
示例#8
0
 public void Add(CountryBasedShippingCalculation countryBasedShippingCalculation)
 {
     _session.Transact(session => session.Save(countryBasedShippingCalculation));
 }