/// <summary> /// /// </summary> /// <param name="utilityId"></param> /// <param name="vendorId"></param> /// <param name="utilityType">Gas, Electric, Duel Fuel</param> /// <param name="accountType">B = Business, R = Residential</param> /// <returns></returns> public static List <Program> GetPrograms(int utilityId, int vendorId, Enums.UtilityType utilityType, Enums.PremiseType premiseType) { List <Program> programs; DateTime dateOnly = DateTime.Now.Date; using (CustomClearviewEntities ctx = new CustomClearviewEntities()) { RateRepository repo = new RateRepository(ctx); programs = repo.Filter(p => p.UtilityId == utilityId && p.PremiseTypeId == (int)premiseType && p.ProgramVendors.Any(pv => pv.VendorId == vendorId) && p.UtilityTypeId == (int)utilityType && dateOnly >= p.EffectiveStartDate && dateOnly <= p.EffectiveEndDate, sort => sort.ProgramName, SortOrder.Ascending, u => u.UnitOfMeasure, p => p.PremiseType, ut => ut.UtilityType, u => u.Utility, b => b.Brand, a => a.AccountNumberType, v => v.ProgramVendors); } return(programs); }
public static List <Utility> GetUtilities(int vendorId, Enums.UtilityType utilityType, Enums.PremiseType accountType) { List <Utility> utilities = new List <Utility>(); DateTime dateOnly = DateTime.Now.Date; using (CustomClearviewEntities ctx = new CustomClearviewEntities()) { RateRepository repo = new RateRepository(ctx); List <Program> programs = repo.Filter(r => r.ProgramVendors.Any(v => v.VendorId == vendorId) && r.PremiseTypeId == (int)accountType && r.UtilityTypeId == (int)utilityType && dateOnly >= r.EffectiveStartDate && dateOnly <= r.EffectiveEndDate , type => type.Utility); foreach (Program p in programs) { utilities.Add(p.Utility); } } return(utilities.Distinct().OrderBy(sort => sort.Name).ToList()); }