/// <summary>
        /// Gets the total earn base.
        /// </summary>
        /// <param name="items">The items.</param>
        /// <returns></returns>
        public static decimal GetTotalEarnBase(List <DistributorShoppingCartItem> items)
        {
            // If total earn base should only consider product type P.
            var countryCode = CultureInfo.CurrentCulture.Name.Substring(3);
            var config      = (new NPSConfigurationProvider()).GetNPSConfigSection(countryCode);

            if (config != null && config.TotalEarnBasePrdctTypeOnly)
            {
                var startDate = config.TotalEarnBasePrdctTypeOnlyDate;
                if (!string.IsNullOrEmpty(startDate))
                {
                    const string format = "yyyy-MM-dd";

                    DateTime startDateTime;

                    if (DateTime.TryParseExact(startDate, format, CultureInfo.InvariantCulture,
                                               DateTimeStyles.None, out startDateTime))
                    {
                        if (DateUtils.GetCurrentLocalTime(countryCode).Date >= startDateTime.Date)
                        {
                            return
                                (items.Where(
                                     shoppingCartItem => shoppingCartItem.CatalogItem != null && shoppingCartItem.CatalogItem.ProductType == ServiceProvider.CatalogSvc.ProductType.Product)
                                 .Sum(shoppingCartItem => shoppingCartItem.EarnBase));
                        }
                    }
                }
            }

            return(items.Sum(shoppingCartItem => shoppingCartItem.EarnBase));
        }
Exemple #2
0
        /// <summary>
        /// Removes the PH charge.
        /// </summary>
        public bool RemovePHCharge()
        {
            var config = (new NPSConfigurationProvider()).GetNPSConfigSection(this.CountryCode);

            if (config == null || config.HasPHCharge)
            {
                return(false);
            }

            var startDate = config.RemovePHChargeStartDate;

            if (string.IsNullOrEmpty(startDate))
            {
                return(false);
            }

            const string format = "yyyy-MM-dd";
            DateTime     startDateTime;

            if (!DateTime.TryParseExact(startDate, format, CultureInfo.InvariantCulture,
                                        DateTimeStyles.None, out startDateTime))
            {
                return(false);
            }

            if (DateUtils.GetCurrentLocalTime(CountryCode) <= startDateTime)
            {
                return(false);
            }

            return(true);
        }
        public static bool ShowEarnBaseHelpInfo()
        {
            var countryCode = System.Threading.Thread.CurrentThread.CurrentCulture.Name.Substring(3);
            var config      = (new NPSConfigurationProvider()).GetNPSConfigSection(countryCode);

            if (config == null)
            {
                return(false);
            }

            var startDate = config.ShowEarnbaseHelpDate;

            if (string.IsNullOrEmpty(startDate))
            {
                return(false);
            }

            const string format = "yyyy-MM-dd";
            DateTime     startDateTime;

            if (!DateTime.TryParseExact(startDate, format, CultureInfo.InvariantCulture,
                                        DateTimeStyles.None, out startDateTime))
            {
                return(false);
            }

            return(DateUtils.GetCurrentLocalTime(countryCode) > startDateTime);
        }