Exemple #1
0
        /// <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);
        }
Exemple #2
0
        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());
        }