public ActionResult <ScheduleStudentListViewModel> SearchScheduledStudentForGroupDrop(PageResult pageResult) { ScheduleStudentListViewModel ScheduledStudentListView = new ScheduleStudentListViewModel(); try { ScheduledStudentListView = _studentScheduleService.SearchScheduledStudentForGroupDrop(pageResult); } catch (Exception es) { ScheduledStudentListView._failure = true; ScheduledStudentListView._message = es.Message; } return(ScheduledStudentListView); }
/// <summary> /// Search Scheduled Student For Group Drop /// </summary> /// <param name="scheduleStudentListViewModel"></param> /// <returns></returns> public ScheduleStudentListViewModel SearchScheduledStudentForGroupDrop(PageResult pageResult) { ScheduleStudentListViewModel ScheduledStudentListView = new ScheduleStudentListViewModel(); try { if (TokenManager.CheckToken(pageResult._tenantName + pageResult._userName, pageResult._token)) { ScheduledStudentListView = this.studentScheduleRepository.SearchScheduledStudentForGroupDrop(pageResult); } else { ScheduledStudentListView._failure = true; ScheduledStudentListView._message = TOKENINVALID; } } catch (Exception es) { ScheduledStudentListView._failure = true; ScheduledStudentListView._message = es.Message; } return(ScheduledStudentListView); }
/// <summary> /// Search Scheduled Student For Group Drop /// </summary> /// <param name="scheduleStudentListViewModel"></param> /// <returns></returns> public ScheduleStudentListViewModel SearchScheduledStudentForGroupDrop(PageResult pageResult) { ScheduleStudentListViewModel scheduleStudentListView = new ScheduleStudentListViewModel(); IQueryable <ScheduleStudentForView> transactionIQ = null; try { var scheduledStudentData = this.context?.StudentCoursesectionSchedule. Join(this.context?.StudentMaster, scs => scs.StudentId, sm => sm.StudentId, (scs, sm) => new { scs, sm }).Where(c => c.scs.TenantId == pageResult.TenantId && c.scs.SchoolId == pageResult.SchoolId && c.scs.CourseSectionId == pageResult.CourseSectionId && c.sm.SchoolId == pageResult.SchoolId && c.sm.TenantId == pageResult.TenantId).ToList().Select(ssv => new ScheduleStudentForView { SchoolId = ssv.sm.SchoolId, TenantId = ssv.sm.TenantId, StudentId = ssv.sm.StudentId, FirstGivenName = ssv.sm.FirstGivenName, LastFamilyName = ssv.sm.LastFamilyName, AlternateId = ssv.sm.AlternateId, StudentInternalId = ssv.sm.StudentInternalId, GradeLevel = this.context.Gradelevels.FirstOrDefault(c => c.TenantId == ssv.sm.TenantId && c.SchoolId == ssv.sm.SchoolId && c.GradeId == ssv.scs.GradeId)?.Title, Section = this.context.Sections.FirstOrDefault(c => c.TenantId == ssv.sm.TenantId && c.SchoolId == ssv.sm.SchoolId && c.SectionId == ssv.sm.SectionId)?.Name, PhoneNumber = ssv.sm.MobilePhone, Action = ssv.scs.IsDropped, ScheduleDate = ssv.scs.CreatedOn, StudentPhoto = (pageResult.ProfilePhoto == true)?ssv.sm.StudentPhoto:null }).ToList(); if (scheduledStudentData.Count > 0) { if (pageResult.FilterParams == null || pageResult.FilterParams.Count == 0) { transactionIQ = scheduledStudentData.AsQueryable(); } else { if (pageResult.FilterParams != null && pageResult.FilterParams.ElementAt(0).ColumnName == null && pageResult.FilterParams.Count == 1) { string Columnvalue = pageResult.FilterParams.ElementAt(0).FilterValue; transactionIQ = scheduledStudentData.Where(x => x.FirstGivenName.ToLower().Contains(Columnvalue.ToLower()) || x.LastFamilyName.ToLower().Contains(Columnvalue.ToLower()) || x.GradeLevel.ToLower().Contains(Columnvalue.ToLower()) || x.ScheduleDate.ToString() == Columnvalue).AsQueryable(); } else { transactionIQ = Utility.FilteredData(pageResult.FilterParams, scheduledStudentData).AsQueryable(); } transactionIQ = transactionIQ.Distinct(); } if (pageResult.SortingModel != null) { switch (pageResult.SortingModel.SortColumn.ToLower()) { default: transactionIQ = Utility.Sort(transactionIQ, pageResult.SortingModel.SortColumn, pageResult.SortingModel.SortDirection.ToLower()); break; } } int totalCount = transactionIQ.Count(); if (pageResult.PageNumber > 0 && pageResult.PageSize > 0) { transactionIQ = transactionIQ.Skip((pageResult.PageNumber - 1) * pageResult.PageSize).Take(pageResult.PageSize); } scheduleStudentListView.scheduleStudentForView = transactionIQ.ToList(); scheduleStudentListView.TotalCount = totalCount; } else { scheduleStudentListView.scheduleStudentForView = scheduledStudentData; scheduleStudentListView._failure = false; scheduleStudentListView._message = NORECORDFOUND; } scheduleStudentListView.TenantId = pageResult.TenantId; scheduleStudentListView.SchoolId = pageResult.SchoolId; scheduleStudentListView.CourseSectionId = pageResult.CourseSectionId; scheduleStudentListView.PageNumber = pageResult.PageNumber; scheduleStudentListView._pageSize = pageResult.PageSize; scheduleStudentListView._tenantName = pageResult._tenantName; scheduleStudentListView._token = pageResult._token; scheduleStudentListView._failure = false; } catch (Exception es) { scheduleStudentListView._failure = true; scheduleStudentListView._message = es.Message;; } return(scheduleStudentListView); }