public ScheduledCourseSectionViewModel GetAllScheduledCourseSectionForStaff(ScheduledCourseSectionViewModel scheduledCourseSectionViewModel) { ScheduledCourseSectionViewModel scheduledCourseSectionView = new ScheduledCourseSectionViewModel(); try { scheduledCourseSectionView.TenantId = scheduledCourseSectionViewModel.TenantId; scheduledCourseSectionView._tenantName = scheduledCourseSectionViewModel._tenantName; scheduledCourseSectionView.SchoolId = scheduledCourseSectionViewModel.SchoolId; scheduledCourseSectionView.StaffId = scheduledCourseSectionViewModel.StaffId; scheduledCourseSectionView._token = scheduledCourseSectionViewModel._token; var scheduledCourseSectionData = this.context?.StaffCoursesectionSchedule.Include(s => s.StaffMaster).Include(x => x.CourseSection).Include(x => x.CourseSection.Course).Include(x => x.CourseSection.SchoolCalendars).Where(x => x.TenantId == scheduledCourseSectionViewModel.TenantId && x.SchoolId == scheduledCourseSectionViewModel.SchoolId && x.StaffId == scheduledCourseSectionViewModel.StaffId && x.IsDropped != true).ToList(); if (scheduledCourseSectionData.Count() > 0) { List <int> csIds = new List <int> { }; csIds = scheduledCourseSectionData.Select(x => x.CourseSectionId).ToList(); var scheduledStaffDataForCourseSection = this.context?.StaffCoursesectionSchedule.Include(x => x.StaffMaster).Where(x => x.TenantId == scheduledCourseSectionViewModel.TenantId && x.SchoolId == scheduledCourseSectionViewModel.SchoolId && x.StaffId != scheduledCourseSectionViewModel.StaffId && (csIds == null || (csIds.Contains(x.CourseSectionId))) && x.IsDropped != true).ToList(); foreach (var scheduledCourseSection in scheduledCourseSectionData) { CourseSectionViewList CourseSections = new CourseSectionViewList(); //var scheduledStaffData = this.context?.StaffCoursesectionSchedule.Include(x => x.StaffMaster).Where(x => x.TenantId == scheduledCourseSectionViewModel.TenantId && x.SchoolId == scheduledCourseSectionViewModel.SchoolId && x.StaffId != scheduledCourseSection.StaffId&& x.CourseSectionId== scheduledCourseSection.CourseSectionId && x.IsDropped != true).ToList(); var scheduledStaffData = scheduledStaffDataForCourseSection.Where(x => x.TenantId == scheduledCourseSectionViewModel.TenantId && x.SchoolId == scheduledCourseSectionViewModel.SchoolId && x.CourseSectionId == scheduledCourseSection.CourseSectionId).ToList(); if (scheduledStaffData.Count() > 0) { foreach (var scheduledStaff in scheduledStaffData) { var staffName = scheduledStaff.StaffMaster.FirstGivenName + " " + scheduledStaff.StaffMaster.MiddleName + " " + scheduledStaff.StaffMaster.LastFamilyName; CourseSections.ScheduledStaff = CourseSections.ScheduledStaff != null ? CourseSections.ScheduledStaff + "|" + staffName : staffName; } } CourseSections.WeekDays = scheduledCourseSection.CourseSection.SchoolCalendars.Days; CourseSections.CourseTitle = scheduledCourseSection.CourseSection.Course.CourseTitle; if (scheduledCourseSection.CourseSection.ScheduleType == "Fixed Schedule (1)") { CourseSections.ScheduleType = "Fixed Schedule"; } if (scheduledCourseSection.CourseSection.ScheduleType == "Variable Schedule (2)") { CourseSections.ScheduleType = "Variable Schedule"; } if (scheduledCourseSection.CourseSection.ScheduleType == "Calendar Schedule (3)") { CourseSections.ScheduleType = "Calendar Schedule"; } if (scheduledCourseSection.CourseSection.ScheduleType == "Block Schedule (4)") { CourseSections.ScheduleType = "Block Schedule"; } CourseSections.CourseId = scheduledCourseSection.CourseId; CourseSections.CourseSectionId = scheduledCourseSection.CourseSectionId; CourseSections.CourseSectionName = scheduledCourseSection.CourseSectionName; CourseSections.YrMarkingPeriodId = scheduledCourseSection.YrMarkingPeriodId; CourseSections.SmstrMarkingPeriodId = scheduledCourseSection.SmstrMarkingPeriodId; CourseSections.QtrMarkingPeriodId = scheduledCourseSection.QtrMarkingPeriodId; CourseSections.DurationStartDate = scheduledCourseSection.DurationStartDate; CourseSections.DurationEndDate = scheduledCourseSection.DurationEndDate; CourseSections.MeetingDays = scheduledCourseSection.MeetingDays; scheduledCourseSectionView.courseSectionViewList.Add(CourseSections); } } else { scheduledCourseSectionView._failure = true; scheduledCourseSectionView._message = NORECORDFOUND; } } catch (Exception es) { scheduledCourseSectionView.courseSectionViewList = null; scheduledCourseSectionView._failure = true; scheduledCourseSectionView._message = es.Message; } return(scheduledCourseSectionView); }
public ScheduledCourseSectionViewModel SearchCourseSectionForStudentAttendance(ScheduledCourseSectionViewModel scheduledCourseSectionViewModel) { ScheduledCourseSectionViewModel scheduledCourseSectionView = new ScheduledCourseSectionViewModel(); try { scheduledCourseSectionView.TenantId = scheduledCourseSectionViewModel.TenantId; scheduledCourseSectionView._tenantName = scheduledCourseSectionViewModel._tenantName; scheduledCourseSectionView.SchoolId = scheduledCourseSectionViewModel.SchoolId; scheduledCourseSectionView.StaffId = scheduledCourseSectionViewModel.StaffId; scheduledCourseSectionView._token = scheduledCourseSectionViewModel._token; var scheduledCourseSectionData = this.context?.StaffCoursesectionSchedule.Include(s => s.StaffMaster).Include(x => x.CourseSection).Include(x => x.CourseSection.Course).Include(x => x.CourseSection.SchoolCalendars).Where(x => x.TenantId == scheduledCourseSectionViewModel.TenantId && x.SchoolId == scheduledCourseSectionViewModel.SchoolId && x.StaffId == scheduledCourseSectionViewModel.StaffId && x.IsDropped != true).ToList(); if (scheduledCourseSectionData.Count() > 0) { foreach (var scheduledCourseSection in scheduledCourseSectionData) { CourseSectionViewList CourseSections = new CourseSectionViewList(); if (scheduledCourseSection.CourseSection.ScheduleType == "Fixed Schedule (1)") { CourseSections.ScheduleType = "Fixed Schedule"; var courseFixedScheduleData = this.context?.CourseFixedSchedule.Include(c => c.BlockPeriod).FirstOrDefault(x => x.TenantId == scheduledCourseSection.TenantId && x.SchoolId == scheduledCourseSection.SchoolId && x.CourseSectionId == scheduledCourseSection.CourseSectionId); if (courseFixedScheduleData != null) { courseFixedScheduleData.BlockPeriod.CourseFixedSchedule = null; courseFixedScheduleData.BlockPeriod.CourseVariableSchedule = null; courseFixedScheduleData.BlockPeriod.CourseCalendarSchedule = null; courseFixedScheduleData.BlockPeriod.CourseBlockSchedule = null; CourseSections.courseFixedSchedule = courseFixedScheduleData; } } if (scheduledCourseSection.CourseSection.ScheduleType == "Variable Schedule (2)") { CourseSections.ScheduleType = "Variable Schedule"; var courseVariableScheduleData = this.context?.CourseVariableSchedule.Include(c => c.BlockPeriod).Where(x => x.TenantId == scheduledCourseSection.TenantId && x.SchoolId == scheduledCourseSection.SchoolId && x.CourseSectionId == scheduledCourseSection.CourseSectionId).ToList(); if (courseVariableScheduleData.Count > 0) { courseVariableScheduleData.ForEach(x => { x.BlockPeriod.CourseFixedSchedule = null; x.BlockPeriod.CourseVariableSchedule = null; x.BlockPeriod.CourseCalendarSchedule = null; x.BlockPeriod.CourseBlockSchedule = null; }); CourseSections.courseVariableSchedule = courseVariableScheduleData; } } if (scheduledCourseSection.CourseSection.ScheduleType == "Calendar Schedule (3)") { CourseSections.ScheduleType = "Calendar Schedule"; var courseCalenderScheduleData = this.context?.CourseCalendarSchedule.Include(c => c.BlockPeriod).Where(x => x.TenantId == scheduledCourseSection.TenantId && x.SchoolId == scheduledCourseSection.SchoolId && x.CourseSectionId == scheduledCourseSection.CourseSectionId).ToList(); if (courseCalenderScheduleData.Count > 0) { courseCalenderScheduleData.ForEach(x => { x.BlockPeriod.CourseFixedSchedule = null; x.BlockPeriod.CourseVariableSchedule = null; x.BlockPeriod.CourseCalendarSchedule = null; x.BlockPeriod.CourseBlockSchedule = null; }); CourseSections.courseCalendarSchedule = courseCalenderScheduleData; } } if (scheduledCourseSection.CourseSection.ScheduleType == "Block Schedule (4)") { CourseSections.ScheduleType = "Block Schedule"; var courseBlockScheduleData = this.context?.CourseBlockSchedule.Include(c => c.BlockPeriod).Where(x => x.TenantId == scheduledCourseSection.TenantId && x.SchoolId == scheduledCourseSection.SchoolId && x.CourseSectionId == scheduledCourseSection.CourseSectionId).ToList(); if (courseBlockScheduleData.Count > 0) { courseBlockScheduleData.ForEach(x => { x.BlockPeriod.CourseFixedSchedule = null; x.BlockPeriod.CourseVariableSchedule = null; x.BlockPeriod.CourseCalendarSchedule = null; x.BlockPeriod.CourseBlockSchedule = null; }); CourseSections.courseBlockSchedule = courseBlockScheduleData; } } CourseSections.CourseId = scheduledCourseSection.CourseId; CourseSections.CourseSectionId = scheduledCourseSection.CourseSectionId; CourseSections.CourseSectionName = scheduledCourseSection.CourseSectionName; CourseSections.YrMarkingPeriodId = scheduledCourseSection.YrMarkingPeriodId; CourseSections.SmstrMarkingPeriodId = scheduledCourseSection.SmstrMarkingPeriodId; CourseSections.QtrMarkingPeriodId = scheduledCourseSection.QtrMarkingPeriodId; CourseSections.DurationStartDate = scheduledCourseSection.DurationStartDate; CourseSections.DurationEndDate = scheduledCourseSection.DurationEndDate; CourseSections.MeetingDays = scheduledCourseSection.MeetingDays; CourseSections.AttendanceCategoryId = scheduledCourseSection.CourseSection.AttendanceCategoryId; scheduledCourseSectionView.courseSectionViewList.Add(CourseSections); } } else { scheduledCourseSectionView._failure = true; scheduledCourseSectionView._message = NORECORDFOUND; } } catch (Exception es) { scheduledCourseSectionView.courseSectionViewList = null; scheduledCourseSectionView._failure = true; scheduledCourseSectionView._message = es.Message; } return(scheduledCourseSectionView); }
/// <summary> /// Teacher Schedule View For CourseSection /// </summary> /// <param name="staffScheduleViewModel"></param> /// <returns></returns> public StaffScheduleViewModel StaffScheduleViewForCourseSection(StaffScheduleViewModel staffScheduleViewModel) { StaffScheduleViewModel staffScheduleList = new StaffScheduleViewModel(); try { if (staffScheduleViewModel.staffScheduleViewList.Count() > 0) { foreach (StaffScheduleViewList teacherScheduleView in staffScheduleViewModel.staffScheduleViewList.ToList()) { StaffScheduleViewList teacherSchedules = new StaffScheduleViewList(); var staffData = this.context?.StaffMaster.FirstOrDefault(x => x.TenantId == staffScheduleViewModel.TenantId && x.SchoolId == staffScheduleViewModel.SchoolId && x.StaffId == teacherScheduleView.StaffId); if (staffData != null) { var courseSectionList = staffScheduleViewModel.courseSectionViewList.ToList(); foreach (var getCourseSection in courseSectionList) { string concatDay = null; var courseSectionData = this.context?.AllCourseSectionView.Where(x => x.TenantId == staffScheduleViewModel.TenantId && x.SchoolId == staffScheduleViewModel.SchoolId && x.CourseSectionId == getCourseSection.CourseSectionId); if (courseSectionData != null) { CourseSectionViewList CourseSections = new CourseSectionViewList(); var calender = this.context.SchoolCalendars.FirstOrDefault(x => x.TenantId == staffScheduleViewModel.TenantId && x.SchoolId == staffScheduleViewModel.SchoolId && x.CalenderId == courseSectionData.FirstOrDefault().CalendarId); if (calender != null) { CourseSections.WeekDays = calender.Days; } var staffSchedule = this.context.StaffCoursesectionSchedule.Include(x => x.StaffMaster).Where(x => x.TenantId == staffScheduleViewModel.TenantId && x.SchoolId == staffScheduleViewModel.SchoolId && x.CourseSectionId == getCourseSection.CourseSectionId && x.IsDropped != false).ToList(); if (staffSchedule.Count > 0) { foreach (var staff in staffSchedule) { var staffName = staff.StaffMaster.FirstGivenName + " " + staff.StaffMaster.MiddleName + " " + staff.StaffMaster.LastFamilyName; CourseSections.ScheduledStaff = CourseSections.ScheduledStaff != null ? CourseSections.ScheduledStaff + "|" + staffName : staffName; } } var variableScheduleData = courseSectionData.Where(x => x.TenantId == staffScheduleViewModel.TenantId && x.SchoolId == staffScheduleViewModel.SchoolId && x.CourseSectionId == getCourseSection.CourseSectionId && x.ScheduleType == "Variable Schedule (2)").ToList(); if (variableScheduleData.Count > 0) { CourseSections.ScheduleType = "Variable Schedule"; foreach (var variableSchedule in variableScheduleData) { concatDay = concatDay != null ? concatDay + "|" + variableSchedule.VarDay : variableSchedule.VarDay; var variableList = this.context.CourseVariableSchedule.Include(x => x.BlockPeriod).Include(x => x.Rooms).Where(x => x.TenantId == variableSchedule.TenantId && x.SchoolId == variableSchedule.SchoolId && x.CourseSectionId == variableSchedule.CourseSectionId).Select(s => new CourseVariableSchedule { TenantId = s.TenantId, SchoolId = s.SchoolId, CourseId = s.CourseId, CourseSectionId = s.CourseSectionId, GradeScaleId = s.GradeScaleId, Serial = s.Serial, Day = s.Day, RoomId = s.RoomId, TakeAttendance = s.TakeAttendance, PeriodId = s.PeriodId, BlockId = s.BlockId, CreatedBy = s.CreatedBy, CreatedOn = s.CreatedOn, UpdatedBy = s.UpdatedBy, UpdatedOn = s.UpdatedOn, Rooms = new Rooms { Title = s.Rooms.Title }, BlockPeriod = new BlockPeriod { PeriodTitle = s.BlockPeriod.PeriodTitle } }).ToList(); CourseSections.courseVariableSchedule = variableList; } } var fixedScheduleData = courseSectionData.Where(x => x.TenantId == staffScheduleViewModel.TenantId && x.SchoolId == staffScheduleViewModel.SchoolId && x.CourseSectionId == getCourseSection.CourseSectionId && x.ScheduleType == "Fixed Schedule (1)").FirstOrDefault(); if (fixedScheduleData != null) { CourseSections.TakeAttendanceForFixedSchedule = fixedScheduleData.AttendanceTaken; CourseSections.ScheduleType = "Fixed Schedule"; concatDay = fixedScheduleData.FixedDays; var fixedSchedule = this.context?.CourseFixedSchedule.Include(f => f.Rooms).Include(f => f.BlockPeriod).Where(x => x.TenantId == staffScheduleViewModel.TenantId && x.SchoolId == staffScheduleViewModel.SchoolId && x.CourseId == fixedScheduleData.CourseId && x.CourseSectionId == fixedScheduleData.CourseSectionId).Select(s => new CourseFixedSchedule { TenantId = s.TenantId, SchoolId = s.SchoolId, CourseId = s.CourseId, CourseSectionId = s.CourseSectionId, GradeScaleId = s.GradeScaleId, Serial = s.Serial, RoomId = s.RoomId, PeriodId = s.PeriodId, BlockId = s.BlockId, CreatedBy = s.CreatedBy, CreatedOn = s.CreatedOn, UpdatedBy = s.UpdatedBy, UpdatedOn = s.UpdatedOn, Rooms = new Rooms { Title = s.Rooms.Title }, BlockPeriod = new BlockPeriod { PeriodTitle = s.BlockPeriod.PeriodTitle } }).FirstOrDefault(); CourseSections.courseFixedSchedule = fixedSchedule; } var calendarScheduleData = courseSectionData.Where(x => x.TenantId == staffScheduleViewModel.TenantId && x.SchoolId == staffScheduleViewModel.SchoolId && x.CourseSectionId == getCourseSection.CourseSectionId && x.ScheduleType == "Calendar Schedule (3)").ToList(); if (calendarScheduleData.Count > 0) { CourseSections.ScheduleType = "Calendar Schedule"; concatDay = "Calendar Days"; foreach (var calendarSchedule in calendarScheduleData) { var calendarList = this.context.CourseCalendarSchedule.Include(x => x.BlockPeriod).Include(x => x.Rooms).Where(x => x.TenantId == calendarSchedule.TenantId && x.SchoolId == calendarSchedule.SchoolId && x.CourseSectionId == calendarSchedule.CourseSectionId).Select(s => new CourseCalendarSchedule { TenantId = s.TenantId, SchoolId = s.SchoolId, CourseId = s.CourseId, CourseSectionId = s.CourseSectionId, GradeScaleId = s.GradeScaleId, Serial = s.Serial, Date = s.Date, RoomId = s.RoomId, TakeAttendance = s.TakeAttendance, PeriodId = s.PeriodId, BlockId = s.BlockId, CreatedBy = s.CreatedBy, CreatedOn = s.CreatedOn, UpdatedBy = s.UpdatedBy, UpdatedOn = s.UpdatedOn, Rooms = new Rooms { Title = s.Rooms.Title }, BlockPeriod = new BlockPeriod { PeriodTitle = s.BlockPeriod.PeriodTitle } }).ToList(); CourseSections.courseCalendarSchedule = calendarList; } } var blockScheduleData = courseSectionData.Where(x => x.TenantId == staffScheduleViewModel.TenantId && x.SchoolId == staffScheduleViewModel.SchoolId && x.CourseSectionId == getCourseSection.CourseSectionId && x.ScheduleType == "Block Schedule (4)").ToList(); if (blockScheduleData.Count > 0) { CourseSections.ScheduleType = "Block Schedule"; concatDay = "Block Days"; foreach (var blockSchedule in blockScheduleData) { var blockScheduleList = this.context.CourseBlockSchedule.Include(x => x.Block).Include(x => x.BlockPeriod).Include(x => x.Rooms).Where(x => x.TenantId == blockSchedule.TenantId && x.SchoolId == blockSchedule.SchoolId && x.CourseSectionId == blockSchedule.CourseSectionId).Select(s => new CourseBlockSchedule { TenantId = s.TenantId, SchoolId = s.SchoolId, CourseId = s.CourseId, CourseSectionId = s.CourseSectionId, GradeScaleId = s.GradeScaleId, Serial = s.Serial, RoomId = s.RoomId, PeriodId = s.PeriodId, BlockId = s.BlockId, TakeAttendance = s.TakeAttendance, CreatedBy = s.CreatedBy, CreatedOn = s.CreatedOn, UpdatedBy = s.UpdatedBy, UpdatedOn = s.UpdatedOn, Rooms = new Rooms { Title = s.Rooms.Title }, BlockPeriod = new BlockPeriod { PeriodTitle = s.BlockPeriod.PeriodTitle }, Block = new Block { BlockTitle = s.Block.BlockTitle } }).ToList(); CourseSections.courseBlockSchedule = blockScheduleList; } } var courseSection = courseSectionData.FirstOrDefault(); CourseSections.CourseId = courseSection.CourseId; CourseSections.CourseSectionId = courseSection.CourseSectionId; CourseSections.CourseTitle = courseSection.CourseTitle; CourseSections.CourseSectionName = courseSection.CourseSectionName; CourseSections.DurationStartDate = courseSection.DurationStartDate; CourseSections.DurationEndDate = courseSection.DurationEndDate; CourseSections.YrMarkingPeriodId = courseSection.YrMarkingPeriodId; CourseSections.SmstrMarkingPeriodId = courseSection.SmstrMarkingPeriodId; CourseSections.QtrMarkingPeriodId = courseSection.QtrMarkingPeriodId; CourseSections.MeetingDays = concatDay; teacherSchedules.courseSectionViewList.Add(CourseSections); } } teacherSchedules.StaffId = staffData.StaffId; teacherSchedules.StaffInternalId = staffData.StaffInternalId; teacherSchedules.StaffFullName = staffData.FirstGivenName + " " + staffData.MiddleName + " " + staffData.LastFamilyName; teacherSchedules.StaffEmail = staffData.LoginEmailAddress != null ? staffData.LoginEmailAddress : staffData.PersonalEmail; teacherSchedules.HomeroomTeacher = staffData.HomeroomTeacher; teacherSchedules.StaffGuid = staffData.StaffGuid; staffScheduleList.staffScheduleViewList.Add(teacherSchedules); } } staffScheduleList.TenantId = staffScheduleViewModel.TenantId; staffScheduleList._tenantName = staffScheduleViewModel._tenantName; staffScheduleList.SchoolId = staffScheduleViewModel.SchoolId; staffScheduleList._token = staffScheduleViewModel._token; staffScheduleList._failure = false; } } catch (Exception es) { staffScheduleList.staffScheduleViewList = null; staffScheduleList._failure = true; staffScheduleList._message = es.Message; } return(staffScheduleList); }