public ActionResult Details(int id) { DesignationDto d = new DesignationDto(); var teacherInDb = _context.Teachers.SingleOrDefault(t => t.Id == id); ViewBag.teacherCourses = _context.TeacherCourse.Where(c => c.TeacherId == id).Include(c => c.Course); ViewBag.salaries = _context.Salaries.Where(s => s.TeacherId == id).Include(m => m.Month).Include(y => y.Year); ViewBag.designation = d.designationList.SingleOrDefault(c => c.Id == teacherInDb.DesignationId); var records = _context.TeacherCourse.Where(t => t.TeacherId == id).ToList(); var timeTable = new List <TeacherTimeTable>(); foreach (var record in records) { var teacherName = _context.Teachers.SingleOrDefault(t => t.Id == record.TeacherId).Name; var course = _context.Course.SingleOrDefault(c => c.Id == record.CourseId); var departmentShortName = _context.Departments.SingleOrDefault(de => de.Id == course.DepartmentId).ShortName; var semesterId = _context.Semester.SingleOrDefault(s => s.Id == course.SemesterId).Id; Dtos.Day dayClass = new Dtos.Day(); var days = dayClass.days; var day = days.SingleOrDefault(da => da.Id == record.DayId); // var starttime = record.StartTime; var ampm = starttime.Contains("AM") ? "A" : "P"; var sampm = starttime.Contains("A") ? starttime.Substring(starttime.IndexOf("A")) : starttime.Substring(starttime.IndexOf("P")); var endtime = record.EndTime; var eampm = endtime.Contains("A") ? endtime.Substring(endtime.IndexOf("A")) : endtime.Substring(endtime.IndexOf("P")); var starthour = starttime.Substring(0, starttime.IndexOf(":")); var endhour = endtime.Substring(0, endtime.IndexOf(":")); var startminute = ""; var endminute = ""; var flag = 0; for (int i = 0; i < starttime.Length; i++) { if (flag == 1) { if (starttime[i] == 'A' || starttime[i] == 'P') { break; } startminute += starttime[i]; } if (starttime[i] == ':') { flag = 1; } } var flag1 = 0; for (int i = 0; i < endtime.Length; i++) { if (flag1 == 1) { if (endtime[i] == 'A' || endtime[i] == 'P') { break; } endminute += endtime[i]; } if (endtime[i] == ':') { flag1 = 1; } } //8/2/1995 12:00:00 AM var startD = "8/2/2018 " + starthour + ":" + startminute + ":00 " + sampm; var endD = "8/2/2018 " + endhour + ":" + endminute + ":00 " + eampm; DateTime sdateTime = DateTime.Parse(startD); DateTime edateTime = DateTime.Parse(endD); //DateTime d1 = DateTime.Parse(sdateTime.ToString("HH:mm:ss tt")); //DateTime d2 = DateTime.Parse(edateTime.ToString("HH:mm:ss tt")); TimeSpan differencet = edateTime - sdateTime; var difference = (differencet.Hours * 60) + differencet.Minutes; if (difference > 50 && record.DayId != 5) { var f = sdateTime; while (f != edateTime) { var stfull = f; f = f.AddMinutes(50); var etfull = f; timeTable.Add( new TeacherTimeTable { Teacher = teacherName, Section = record.Section, Semester = semesterId.ToString(), Department = departmentShortName, Course = course.Name, Day = day.Name, Room = record.Room, StartTime = stfull.ToString("h:mtt"), EndTime = etfull.ToString("h:mtt") }); } } else if (difference > 45 && record.DayId == 5) { var f = sdateTime; while (f != edateTime) { var stfull = f; f = f.AddMinutes(45); var etfull = f; timeTable.Add( new TeacherTimeTable { Teacher = teacherName, Section = record.Section, Semester = semesterId.ToString(), Department = departmentShortName, Course = course.Name, Day = day.Name, Room = record.Room, StartTime = stfull.ToString("h:mtt"), EndTime = etfull.ToString("h:mtt") }); } } // else { timeTable.Add(new TeacherTimeTable { Teacher = teacherName, Section = record.Section, Semester = semesterId.ToString(), Department = departmentShortName, Course = course.Name, Day = day.Name, Room = record.Room, StartTime = record.StartTime, EndTime = record.EndTime }); } } foreach (var record in timeTable) { if (record.Course.Contains("_Lab")) { int index = record.Course.IndexOf("_Lab"); var n = record.Course.Remove(index + 4); record.Course = n; } } ViewBag.timeTable = timeTable; return(View(teacherInDb)); }
public ActionResult Details(int id) { var student = _context.Students.Include(s => s.Program).Include(s => s.Department).SingleOrDefault(s => s.Id == id); ViewBag.fees = _context.Fee.Where(f => f.StudentId == id).Include(s => s.Semester).ToList(); //ViewBag.courses = _context.StudentCourse.Where(c => c.StudentId == id).ToList(); var studentInDb = _context.Students.SingleOrDefault(s => s.Id == id); var section = _context.Section.SingleOrDefault(s => s.StudentId == id).Name; var semesters = _context.Fee.Where(f => f.StudentId == id).ToList(); var lastCount = semesters.Count - 1; var lastSemesterId = semesters[lastCount].SemesterId; var departmentId = studentInDb.DepartmentId; var currentCourses = _context.Course.Where( c => c.SemesterId == lastSemesterId && c.DepartmentId == departmentId).ToList(); var currentTimetable = new List <TeacherCourseDto>(); foreach (var currentCourse in currentCourses) { var records = _context.TeacherCourse.Where( t => t.CourseId == currentCourse.Id && t.Section == section).ToList(); foreach (var record in records) { // var starttime = record.StartTime; var ampm = starttime.Contains("AM") ? "A" : "P"; var sampm = starttime.Contains("A") ? starttime.Substring(starttime.IndexOf("A")) : starttime.Substring(starttime.IndexOf("P")); var endtime = record.EndTime; var eampm = endtime.Contains("A") ? endtime.Substring(endtime.IndexOf("A")) : endtime.Substring(endtime.IndexOf("P")); var starthour = starttime.Substring(0, starttime.IndexOf(":")); var endhour = endtime.Substring(0, endtime.IndexOf(":")); var startminute = ""; var endminute = ""; var flag = 0; for (int i = 0; i < starttime.Length; i++) { if (flag == 1) { if (starttime[i] == 'A' || starttime[i] == 'P') { break; } startminute += starttime[i]; } if (starttime[i] == ':') { flag = 1; } } var flag1 = 0; for (int i = 0; i < endtime.Length; i++) { if (flag1 == 1) { if (endtime[i] == 'A' || endtime[i] == 'P') { break; } endminute += endtime[i]; } if (endtime[i] == ':') { flag1 = 1; } } //8/2/1995 12:00:00 AM var startD = "8/2/2018 " + starthour + ":" + startminute + ":00 " + sampm; var endD = "8/2/2018 " + endhour + ":" + endminute + ":00 " + eampm; DateTime sdateTime = DateTime.Parse(startD); DateTime edateTime = DateTime.Parse(endD); //DateTime d1 = DateTime.Parse(sdateTime.ToString("HH:mm:ss tt")); //DateTime d2 = DateTime.Parse(edateTime.ToString("HH:mm:ss tt")); TimeSpan differencet = edateTime - sdateTime; var difference = (differencet.Hours * 60) + differencet.Minutes; // var teacherName = _context.Teachers.SingleOrDefault(t => t.Id == record.TeacherId).Name; var courseName = _context.Course.SingleOrDefault(c => c.Id == record.CourseId).Name; Dtos.Day d = new Dtos.Day(); var days = d.days; var day = days.SingleOrDefault(da => da.Id == record.DayId); if (difference > 50 && record.DayId != 5) { var f = sdateTime; while (f != edateTime) { var stfull = f; f = f.AddMinutes(50); var etfull = f; currentTimetable.Add( new TeacherCourseDto { Teacher = teacherName, Course = courseName, Day = day.Name, Room = record.Room, StartTime = stfull.ToString("h:mtt"), EndTime = etfull.ToString("h:mtt") }); } } else if (difference > 45 && record.DayId == 5) { var f = sdateTime; while (f != edateTime) { var stfull = f; f = f.AddMinutes(45); var etfull = f; currentTimetable.Add( new TeacherCourseDto { Teacher = teacherName, Course = courseName, Day = day.Name, Room = record.Room, StartTime = stfull.ToString("h:mtt"), EndTime = etfull.ToString("h:mtt") }); } } else { currentTimetable.Add( new TeacherCourseDto { Teacher = teacherName, Course = courseName, Day = day.Name, Room = record.Room, StartTime = record.StartTime, EndTime = record.EndTime }); } } } if (student == null) { return(HttpNotFound()); } foreach (var record in currentTimetable) { if (record.Course.Contains("_Lab")) { int index = record.Course.IndexOf("_Lab"); var n = record.Course.Remove(index + 4); record.Course = n; } } ViewBag.timetable = currentTimetable; return(View(student)); }