Exemplo n.º 1
0
 public ActionResult CreateTimeTable(TimeTableVM aTimeTable)
 {
     ViewBag.Buildings   = aTimeTableManager.GetAllBuilding();
     ViewBag.Departments = anAcademicManager.GetAllDepartment();
     ViewBag.Message     = aTimeTableManager.Create(aTimeTable);
     return(View());
 }
Exemplo n.º 2
0
        public List <ClassRoom> GetAllRoom(TimeTableVM timeTable)
        {
            Query   = "SELECT * FROM Room Where BuildingId = @id";
            Command = new SqlCommand(Query, Connection);
            Connection.Open();
            Command.Parameters.Clear();
            Command.Parameters.Add("id", SqlDbType.Int);
            Command.Parameters["id"].Value = timeTable.BuildingId;
            Reader = Command.ExecuteReader();
            List <ClassRoom> classRooms = new List <ClassRoom>();

            while (Reader.Read())
            {
                ClassRoom room = new ClassRoom()
                {
                    Id     = (int)Reader["Id"],
                    RoomNo = Reader["RoomNo"].ToString()
                };

                classRooms.Add(room);
            }
            Reader.Close();
            Connection.Close();
            return(classRooms);
        }
Exemplo n.º 3
0
        public List <Course> GetAllCourses(TimeTableVM timeTable)
        {
            Query   = "SELECT * FROM Course Where DepartmentId = @id";
            Command = new SqlCommand(Query, Connection);
            Connection.Open();
            Command.Parameters.Clear();
            Command.Parameters.Add("id", SqlDbType.Int);
            Command.Parameters["id"].Value = timeTable.DepartmentId;
            Reader = Command.ExecuteReader();
            List <Course> courses = new List <Course>();

            while (Reader.Read())
            {
                Course course = new Course()
                {
                    Id         = (int)Reader["Id"],
                    CourseName = Reader["Name"].ToString()
                };

                courses.Add(course);
            }
            Reader.Close();
            Connection.Close();
            return(courses);
        }
Exemplo n.º 4
0
 public ActionResult ViewTimeTable(TimeTableVM aTimeTableVm)
 {
     ViewBag.Semesters   = anAcademicManager.GetAllSemester();
     ViewBag.Departments = anAcademicManager.GetAllDepartment();
     ViewBag.TimeTables  = aTimeTableManager.GetSchedule(aTimeTableVm);
     return(View());
 }
Exemplo n.º 5
0
        public List <TimeTableVM> IsScheduleExists(TimeTableVM aTimeTable)
        {
            Query   = "SELECT * FROM TimeTable WHERE RoomId = @roomId AND Day = @day AND Allocate =@allocate ";
            Command = new SqlCommand(Query, Connection);

            Connection.Open();
            Command.Parameters.Clear();
            Command.Parameters.Add("roomId", SqlDbType.Int);
            Command.Parameters["roomId"].Value = aTimeTable.RoomId;

            Command.Parameters.Add("day", SqlDbType.VarChar);
            Command.Parameters["day"].Value = aTimeTable.Day;

            Command.Parameters.Add("allocate", SqlDbType.Bit);
            Command.Parameters["allocate"].Value = 1;
            Reader = Command.ExecuteReader();
            List <TimeTableVM> timeTableVms = new List <TimeTableVM>();

            if (Reader.Read())
            {
                TimeTableVM timeTable = new TimeTableVM()
                {
                    FromTime = Reader["FromTime"].ToString(),
                    ToTime   = Reader["ToTime"].ToString(),
                    Allocate = Reader["Allocate"].ToString()
                };
                timeTableVms.Add(timeTable);
            }
            Reader.Close();
            Connection.Close();
            return(timeTableVms);
        }
Exemplo n.º 6
0
        public async Task <IActionResult> TimeTable(string dateTime)
        {
            DateTime dateTime1;

            DateTime.TryParse(dateTime, out dateTime1);
            if (dateTime1 == null)
            {
                return(RedirectToAction("TimeTable", "Home", new { area = "Doctor" }));
            }

            DateTime StartTime = dateTime1.DayOfWeek == DayOfWeek.Monday ? dateTime1.SetHour(8).SetMinute(0).SetSecond(0) : dateTime1.Previous(DayOfWeek.Monday).SetHour(8).SetMinute(0).SetSecond(0);

            var user = await _userManager.GetUserAsync(HttpContext.User);

            var doctor = await _doctorService.GetDoctorById(user.Id);

            var visits = await _doctorService.GetAllDoctorVisitsByDoctorID(doctor.Id);

            var result = visits.Where(x => x.Date >= StartTime && x.Date < StartTime.AddDays(7)).ToList();
            var dto    = new TimeTableVM()
            {
                DateTime = StartTime,
                Visits   = result.Select(x => new CurrentVisitOutDTO()
                {
                    Id = x.Id, State = x.State, DateTime = x.Date
                }).ToList()
            };

            return(View(dto));
        }
Exemplo n.º 7
0
        public IEnumerable <TimeTableVM> FindAll(int schoolId, int classId, int sectionId)
        {
            var entities           = this._dbContext.TimeTables.Where(tt => tt.ClassId == classId && tt.SectionId == sectionId).ToList().OrderBy(t => t.LectureId);
            List <TimeTableVM> vms = new List <TimeTableVM>();

            var lectures = entities.Select(e => e.LectureId).Distinct();

            foreach (var lecture in lectures)
            {
                var lecEntities = entities.Where(e => e.LectureId == lecture).ToList();
                var vm          = new TimeTableVM {
                    Lecture = lecEntities.First().LectureDuration.Duration
                };
                foreach (var le in lecEntities)
                {
                    var days = le.Days.Split(',');
                    foreach (var day in days)
                    {
                        switch (day)
                        {
                        case "ALL":
                            vm.Monday = vm.Tuesday = vm.Wednessday = vm.Thursday = vm.Friday = le.Subject.SubjectName;
                            break;

                        case "M":
                        case "MO":
                            vm.Monday = le.Subject.SubjectName;
                            break;

                        case "T":
                        case "TU":
                            vm.Tuesday = le.Subject.SubjectName;
                            break;

                        case "W":
                        case "WE":
                            vm.Wednessday = le.Subject.SubjectName;
                            break;

                        case "TH":
                            vm.Thursday = le.Subject.SubjectName;
                            break;

                        case "F":
                        case "FR":
                            vm.Friday = le.Subject.SubjectName;
                            break;
                        }
                    }
                }
                vms.Add(vm);
            }
            return(vms);
        }
Exemplo n.º 8
0
        public ActionResult DownloadTimeTable(TimeTableVM timeTable)
        {
            ViewBag.Semesters   = anAcademicManager.GetAllSemester();
            ViewBag.Departments = anAcademicManager.GetAllDepartment();
            TempData["deptId"]  = timeTable.DepartmentId;
            int semId = timeTable.SemesterId;

            TempData["semesterId"] = semId;
            return(RedirectToAction("GenerateTimeTablePdf", "TimeTable"));

            return(View());
        }
Exemplo n.º 9
0
        public int Create(TimeTableVM aTimeTable)
        {
            Query = "INSERT INTO TimeTable VALUES (@deptId, @courseId,@buildingId, @roomId, @from, @to, @allocate, @day)";

            Command = new SqlCommand(Query, Connection);
            Connection.Open();
            Command.Parameters.Clear();
            string fromH    = aTimeTable.FromTime;
            string fromHSub = fromH.Substring(0, 2);
            string fromM    = aTimeTable.FromTime;
            string fromMSub = fromM.Substring(3, 2);
            int    fromMin  = Convert.ToInt32(fromHSub) * 60 + Convert.ToInt32(fromMSub);
            string toH      = aTimeTable.ToTime;
            string toHSub   = toH.Substring(0, 2);
            string toM      = aTimeTable.ToTime;
            string toMSub   = toM.Substring(3, 2);
            int    toMin    = Convert.ToInt32(toHSub) * 60 + Convert.ToInt32(toMSub);

            Command.Parameters.Add("deptId", SqlDbType.Int);
            Command.Parameters["deptId"].Value = aTimeTable.DepartmentId;
            Command.Parameters.Add("courseId", SqlDbType.Int);
            Command.Parameters["courseId"].Value = aTimeTable.CourseId;

            Command.Parameters.Add("buildingId", SqlDbType.Int);
            Command.Parameters["buildingId"].Value = aTimeTable.BuildingId;
            Command.Parameters.Add("roomId", SqlDbType.Int);
            Command.Parameters["roomId"].Value = aTimeTable.RoomId;

            Command.Parameters.Add("from", SqlDbType.Int);
            Command.Parameters["from"].Value = fromMin;

            Command.Parameters.Add("to", SqlDbType.Int);
            Command.Parameters["to"].Value = toMin;

            Command.Parameters.Add("allocate", SqlDbType.Bit);
            Command.Parameters["allocate"].Value = 1;

            Command.Parameters.Add("day", SqlDbType.VarChar);
            Command.Parameters["day"].Value = aTimeTable.Day;

            int isRowEffected = Command.ExecuteNonQuery();

            Connection.Close();
            return(isRowEffected);
        }
Exemplo n.º 10
0
        public ActionResult GenerateTimeTablePdf()
        {
            int deptId = (int)TempData["deptId"];
            int semId  = (int)TempData["semesterId"];
            List <TimeTableVM>          days                = aTimeTableManager.GetDays();
            List <Semester>             semesters           = (List <Semester>)anAcademicManager.GetAllSemester();
            List <TimeTableVM>          timeTables          = new List <TimeTableVM>();
            List <DepartmentScheduleVm> departmentSchedules = new List <DepartmentScheduleVm>();

            foreach (Semester semester in semesters)
            {
                foreach (TimeTableVM day in days)
                {
                    string      Day          = day.Day;
                    TimeTableVM aTimeTableVm = new TimeTableVM();

                    aTimeTableVm.Schedules = aTimeTableManager.GetAllSchedule(deptId, semester, Day);
                    aTimeTableVm.Day       = Day;
                    aTimeTableVm.Semester  = semester.SemesterName;
                    timeTables.Add(aTimeTableVm);
                }

                DepartmentScheduleVm aDepartmentScheduleVm = new DepartmentScheduleVm();
                aDepartmentScheduleVm.Semester       = semester.SemesterName;
                aDepartmentScheduleVm.DeptTimeTables = timeTables;
                departmentSchedules.Add(aDepartmentScheduleVm);
            }


            ViewBag.Days               = days;
            ViewBag.TimeTables         = timeTables;
            ViewBag.DepartmentShceduls = departmentSchedules;
            ViewBag.Semesters          = semesters;

            return(new ViewAsPdf("GenerateTimeTablePdf", "TimeTable")
            {
                FileName = "Class Schedule.pdf"
            });
        }
Exemplo n.º 11
0
        public List <TimeTableVM> GetDays()
        {
            Query   = "SELECT Day FROM Day ";
            Command = new SqlCommand(Query, Connection);

            Connection.Open();

            Reader = Command.ExecuteReader();
            List <TimeTableVM> timeTableVms = new List <TimeTableVM>();

            while (Reader.Read())
            {
                TimeTableVM timeTable = new TimeTableVM()
                {
                    Day = Reader["Day"].ToString()
                };
                timeTableVms.Add(timeTable);
            }
            Reader.Close();
            Connection.Close();
            return(timeTableVms);
        }
Exemplo n.º 12
0
        public List <TimeTableVM> GetSchedule(TimeTableVM aTimeTableVm)
        {
            Query = "SELECT c.Name CourseName, c.Code CourseCode,r.RoomNo , b.BuildingName, tt.FromTime, tt.ToTime" +
                    " FROM TimeTable tt join Room r on r.Id = tt.RoomId " +
                    "JOIN Building b on b.Id = tt.BuildingId " +
                    "join course c on c.Id = tt.CourseId " +
                    "where tt.DepartmentId = @deptId and c.SemesterId = @semId and Day = @day ";
            Command = new SqlCommand(Query, Connection);
            Connection.Open();
            Command.Parameters.Clear();
            Command.Parameters.Add("deptId", SqlDbType.Int);
            Command.Parameters["deptId"].Value = aTimeTableVm.DepartmentId;
            Command.Parameters.Add("semId", SqlDbType.Int);
            Command.Parameters["semId"].Value = aTimeTableVm.SemesterId;
            Command.Parameters.Add("day", SqlDbType.VarChar);
            Command.Parameters["day"].Value = aTimeTableVm.Day;
            Reader = Command.ExecuteReader();
            List <TimeTableVM> timeTables = new List <TimeTableVM>();

            while (Reader.Read())
            {
                string sFrom = null;
                string sTo   = null;
                int    fHr;
                int    tHr;
                int    from = Convert.ToInt32(Reader["FromTime"]);
                if (from > 719)
                {
                    sFrom = "PM";
                }
                else
                {
                    sFrom = "AM";
                }
                int to = Convert.ToInt32(Reader["ToTime"]);
                if (to > 719)
                {
                    sTo = "PM";
                }
                else
                {
                    sTo = "AM";
                }
                string FromMin = Convert.ToString(from % 60);
                if (FromMin.Length == 1)
                {
                    FromMin = FromMin + "0";
                }
                int FromHr = from / 60;
                if (FromHr > 12)
                {
                    fHr = FromHr - 12;
                }
                else
                {
                    fHr = FromHr;
                }
                string ToMin = Convert.ToString(to % 60);
                if (ToMin.Length == 1)
                {
                    ToMin = ToMin + "0";
                }

                int ToHr = to / 60;
                if (ToHr > 12)
                {
                    tHr = ToHr - 12;
                }
                else
                {
                    tHr = ToHr;
                }

                string fTime = fHr + ":" + FromMin + " " + sFrom;
                string tTime = tHr + ":" + ToMin + " " + sTo;

                TimeTableVM timeTable = new TimeTableVM()
                {
                    //Id = (int)Reader["Id"],
                    RoomNo     = Reader["RoomNo"].ToString(),
                    CourseName = Reader["CourseName"].ToString(),
                    CourseCode = Reader["CourseCode"].ToString(),

                    BuildingName = Reader["BuildingName"].ToString(),

                    Time = fTime + "-" + tTime
                };

                timeTables.Add(timeTable);
            }
            Reader.Close();
            Connection.Close();
            return(timeTables);
        }
 public List <ClassRoom> GetAllRoom(TimeTableVM timeTable)
 {
     return(aTimeTableGateway.GetAllRoom(timeTable));
 }
Exemplo n.º 14
0
        public JsonResult GetCourseByDepartmentId(TimeTableVM timeTable)
        {
            var courses = aTimeTableManager.GetAllCourses(timeTable);

            return(Json(courses));
        }
Exemplo n.º 15
0
        public JsonResult GetRoomByBuildingId(TimeTableVM timeTable)
        {
            var rooms = aTimeTableManager.GetAllRoom(timeTable);

            return(Json(rooms));
        }
 public List <TimeTableVM> GetSchedule(TimeTableVM aTimeTableVm)
 {
     return(aTimeTableGateway.GetSchedule(aTimeTableVm));
 }
 public List <Course> GetAllCourses(TimeTableVM timeTable)
 {
     return(aTimeTableGateway.GetAllCourses(timeTable));
 }
        public string Create(TimeTableVM aTimeTable)
        {
            string fromH    = aTimeTable.FromTime;
            string fromHSub = fromH.Substring(0, 2);
            string fromM    = aTimeTable.FromTime;
            string fromMSub = fromM.Substring(3, 2);
            int    fromMin  = Convert.ToInt32(fromHSub) * 60 + Convert.ToInt32(fromMSub);
            string toH      = aTimeTable.ToTime;
            string toHSub   = toH.Substring(0, 2);
            string toM      = aTimeTable.ToTime;
            string toMSub   = toM.Substring(3, 2);
            int    toMin    = Convert.ToInt32(toHSub) * 60 + Convert.ToInt32(toMSub);

            List <TimeTableVM> classrooms = aTimeTableGateway.IsScheduleExists(aTimeTable);

            if (classrooms.Count > 0)
            {
                foreach (TimeTableVM allocate in classrooms)
                {
                    int    from       = Convert.ToInt32(allocate.FromTime);
                    int    to         = Convert.ToInt32(allocate.ToTime);
                    string allocation = allocate.Allocate;
                    if (fromMin >= from && fromMin < to)
                    {
                        return("Schedule allready allocated");
                    }
                    else if (toMin > from && toMin <= to)
                    {
                        return("Schedule allready allocated");
                    }
                    else if (fromMin <= from && toMin >= to)
                    {
                        return("Schedule allready allocated");
                    }
                    else
                    {
                        //Save(allocateClassroom);
                        int isRowAffected = aTimeTableGateway.Create(aTimeTable);
                        if (isRowAffected > 0)
                        {
                            return("TimeTable created successfully!");
                        }
                        else
                        {
                            return("Failed to create timetable..");
                        }
                    }
                }
                return("TimeTable created successfully!");
            }
            else
            {
                int isRowAffected = aTimeTableGateway.Create(aTimeTable);
                if (isRowAffected > 0)
                {
                    return("TimeTable created successfully!");
                }
                else
                {
                    return("Failed to create timetable..");
                }
            }
        }