Exemplo n.º 1
0
 public GradingPeriod GetGradingPeriodDetails(int schoolYearId, DateTime date)
 {
     using (var uow = Read())
     {
         var da = new GradingPeriodDataAccess(uow);
         var gradingPeriodQuery = new GradingPeriodQuery
         {
             SchoolYearId = schoolYearId
         };
         var gps = da.GetGradingPeriodsDetails(gradingPeriodQuery);
         var res = gps.FirstOrDefault(x => x.StartDate <= date && x.EndDate >= date);
         if (res == null)
         {
             res = gps.OrderByDescending(x => x.StartDate).FirstOrDefault();
         }
         return(res);
     }
 }
        public IList <GradingPeriod> GetGradingPeriodsDetails(GradingPeriodQuery query)
        {
            var gps = GradingPeriodStorage.GetData().Select(x => x.Value);

            if (query.GradingPeriodId.HasValue)
            {
                gps = gps.Where(x => x.Id == query.GradingPeriodId);
            }
            if (query.SchoolYearId.HasValue)
            {
                gps = gps.Where(x => x.SchoolYearRef == query.SchoolYearId);
            }
            if (query.ClassId.HasValue)
            {
                gps = gps.Where(x => ((DemoMarkingPeriodService)ServiceLocator.MarkingPeriodService)
                                .GetMarkingPeriodClassById(query.ClassId.Value).Any(y => y.MarkingPeriodRef == x.MarkingPeriodRef));
            }

            return(Convert(gps.ToList()));
        }