/// <summary> /// Description: Get All Packages under a particular Offering /// </summary> /// <returns></returns> public ActionResult GetPackages() { var context = new IPTV2Entities(); Dictionary<string, int?> packagelist = new Dictionary<string, int?>(); IPTV2_Model.Package package = new IPTV2_Model.Package(); string CountryCode = MyUtility.GetCurrentCountryCodeOrDefault(); foreach (var item in context.PackageTypes.Where(ptype => ptype.OfferingId == GlobalConfig.offeringId && ptype.Country == CountryCode)) { if (item is Package) packagelist.Add(item.PackageName, item.PackageId); } return Json(packagelist, JsonRequestBehavior.AllowGet); }
public static void UpdateRecurringBillingIfExist(IPTV2Entities context, User user, DateTime registDt, Package package, bool isPayPal = false) { if (GlobalConfig.IsRecurringBillingEnabled) { try { var recurringBillings = user.RecurringBillings.Where(r => r.StatusId == GlobalConfig.Visible && r.PackageId == package.PackageId); if (recurringBillings != null) { var dtRecur = isPayPal ? registDt.Date : registDt.AddDays(-3).Date; foreach (var item in recurringBillings) { item.EndDate = registDt; item.UpdatedOn = registDt; item.NumberOfAttempts = 0; if (item.NextRun < dtRecur) item.NextRun = dtRecur; } } } catch (Exception e) { MyUtility.LogException(e); } } }
public static List<string> GetPackageFeaturesViaPackage(string CountryCode, Package package) { List<string> list = null; string jsonString = String.Empty; try { var cache = DataCache.Cache; //modify cache duration var CacheDuration = new TimeSpan(0, GlobalConfig.PackageAndProductCacheDuration, 0); string cacheKey = "GPKGFEAT:P:" + package.PackageId + ";C:" + CountryCode; try { jsonString = (string)cache[cacheKey]; } catch (Exception) { } if (String.IsNullOrEmpty(jsonString)) { list = new List<string>(); var context = new IPTV2Entities(); var offering = context.Offerings.Find(GlobalConfig.offeringId); var service = offering.Services.FirstOrDefault(o => o.PackageId == GlobalConfig.serviceId); SortedSet<int> listOfShowIds = new SortedSet<int>(); foreach (var category in package.Categories) { listOfShowIds.UnionWith(service.GetAllOnlineShowIds(CountryCode, category.Category)); if (category.Category is Category) { var item = (Category)category.Category; var CategoryShowIds = service.GetAllOnlineShowIds(CountryCode, item); if (CategoryShowIds.Count() > 1000) list.Add(String.Format("{0}+ in {1}", CategoryShowIds.Count().Floor(100), item.Description)); else if (CategoryShowIds.Count() > 100) list.Add(String.Format("{0}+ in {1}", CategoryShowIds.Count().Floor(10), item.Description)); else if (CategoryShowIds.Count() > 10) list.Add(String.Format("{0}+ in {1}", CategoryShowIds.Count().Floor(10), item.Description)); else list.Add(String.Format("{0} in {1}", CategoryShowIds.Count(), item.Description)); } } list.Add(String.Format("{0}+ Titles", listOfShowIds.Count().Floor(10))); jsonString = Newtonsoft.Json.JsonConvert.SerializeObject(list); cache.Put(cacheKey, jsonString, CacheDuration); } else list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(jsonString); } catch (Exception e) { MyUtility.LogException(e); } return list; }