/// <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)); }
/// <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); }