Пример #1
0
        public List <PerformanceDTO> Filter(FilterPerformanceDTO filter)
        {
            List <ActivityDTO> activities = DataAccess.Filter(filter);

            var performanceList = new List <PerformanceDTO>();

            var dayAvailable = filter.initialDate;

            while (dayAvailable < filter.finalDate)
            {
                var idealConcludedActivities = activities
                                               .Where(a => a.expirationDate.Date == dayAvailable.Date).ToList();

                var realConcludedActivities = activities
                                              .Where(a => a.conclusionDate >= dayAvailable.Date &&
                                                     a.conclusionDate < dayAvailable.Date.AddDays(1)).ToList();

                performanceList.Add(
                    new PerformanceDTO()
                {
                    idealValue = GetPointsByDay(idealConcludedActivities),
                    realValue  = GetPointsByDay(realConcludedActivities),
                    date       = dayAvailable.Date,
                });

                dayAvailable = dayAvailable.AddDays(1);
            }

            return(performanceList);
        }
        public IActionResult Index()
        {
            var today  = DateTime.Now.Date;
            var filter = new FilterPerformanceDTO()
            {
                finalDate   = today,
                initialDate = today.AddDays(-7)
            };

            return(Ok(_rules.Filter(filter)));
        }
        public List <ActivityDTO> Filter(FilterPerformanceDTO filter)
        {
            var query = context.ActivitiesDB
                        .Where(x => x.ExpirationDate.Date >= filter.initialDate.Date &&
                               x.ExpirationDate.Date <= filter.finalDate.Date);

            if (filter.idClass != null)
            {
                query.Where(x => x.IdClass == filter.idClass);
            }

            return(query.Select(x =>
                                new ActivityDTO()
            {
                id = x.IdActivity,
                name = x.NameActivity,
                difficulty = x.Difficulty,
                doneStatus = x.statusActivity,
                conclusionStatus = x.StatusConclusionDate,
                conclusionDate = x.ConclusionDate,
                expirationDate = x.ExpirationDate,
                idClass = x.IdClass
            }).ToList());
        }
 public IActionResult Filter([FromBody] FilterPerformanceDTO filter)
 {
     return(Ok(_rules.Filter(filter)));
 }