Exemple #1
0
        public virtual ScheduleprojectView FilterBy(ScheduleFilterModel values)
        {
            MongoDBContext context              = new MongoDBContext();
            var            collection           = context.ProjectSchedules;
            Func <ProjectSchedule, bool> filter = (p) =>
                                                  (values.Project == null ? true : p.Title.Contains(values.Project)) &&
                                                  (values.Status == "Select Status" ? true : values.Status == p.ProjectStatus) &&
                                                  (values.PlannedDateFrom.Ticks == 0 ? true : p.PlannedStartDate >= values.PlannedDateFrom) &&
                                                  (values.PlannedDateTo.Ticks == 0 ? true : p.PlannedStartDate <= values.PlannedDateTo) &&
                                                  (values.DueDateFrom.Ticks == 0 ? true : p.ProjectDueDate >= values.DueDateFrom) &&
                                                  (values.DueDateTo.Ticks == 0 ? true : p.ProjectDueDate <= values.DueDateTo) &&
                                                  (values.Skills[0] == "Select Skill" ? true : p.RequiredSkills.Contains(values.Skills[0])) &&
                                                  (values.PlannedHourFrom == 0 ? true : p.TotalPlannedHours >= values.PlannedHourFrom) &&
                                                  (values.PlannedHourTo == 0 ? true : p.TotalPlannedHours <= values.PlannedHourTo);

            var list = collection.AsQueryable()
                       .Select(w => new ProjectSchedule
            {
                Title = w.Title,

                PlannedStartDate = w.PlannedStartDate,

                ExpectedCompletionDate = w.ExpectedCompletionDate,

                projects = w.projects,

                TotalPlannedHours = w.TotalPlannedHours,

                RequiredSkills = w.RequiredSkills,

                ReferenceLink = w.ReferenceLink,

                ProjectDueDate = w.ProjectDueDate,

                ProjectStatus = w.ProjectStatus
            })
                       .Where(filter).ToList();
            ScheduleprojectView result = new ScheduleprojectView
            {
                Schedule = list
            };

            return(result);
        }
Exemple #2
0
        public PartialViewResult SchedulesList(ScheduleFilterModel filter, int page = 1)
        {
            if (ModelState.IsValid)
            {
                DateTime?startDate = null;
                if (!string.IsNullOrEmpty(filter.StartDate))
                {
                    startDate = DateTime.Parse(filter.StartDate);
                }

                ViewBag.IdChannel = filter.IdChannel;
                ViewBag.StartDate = filter.StartDate;

                var model = _mapper.Map <IEnumerable <ScheduleItemModel> >(_scheduleService.GetList(filter.IdChannel, startDate)).ToPagedList(page, _pageSize);
                return(PartialView(model));
            }
            else
            {
                return(PartialView());
            }
        }
        public IActionResult SearchSchedule([FromBody] ScheduleFilterModel values)
        {
            List <ProjectSchedule> list = projschedule.FilterBy(values).Schedule;

            return(Json(list));
        }