Beispiel #1
0
        public bool CheckFromTimeGreaterToTime(RoomAlloted room)
        {
            DateTime fromInsertDayTime = DateTime.ParseExact(room.FormTime(), "hh:mm tt", CultureInfo.InvariantCulture);
            TimeSpan fromTime          = fromInsertDayTime.TimeOfDay;
            DateTime toInsertDayTime   = DateTime.ParseExact(room.EndTime(), "hh:mm tt", CultureInfo.InvariantCulture);
            TimeSpan toTime            = toInsertDayTime.TimeOfDay;

            if (toTime > fromTime)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #2
0
        //To save data in AllocateRoom table//
        public bool AllocateRoom(RoomAlloted allotedroom)
        {
            AllotedRoom alloted = new AllotedRoom();

            alloted.Assign   = true;
            alloted.depCode  = allotedroom.depCode;
            alloted.CourseID = allotedroom.CourseID;
            alloted.dayID    = allotedroom.dayID;
            alloted.roomID   = allotedroom.roomID;
            alloted.fromTime = allotedroom.FormTime();
            alloted.toTime   = allotedroom.EndTime();

            dbContext.AllotedRooms.Add(alloted);
            int rowaffected = dbContext.SaveChanges();

            return(rowaffected > 0);
        }
Beispiel #3
0
        //To check time overlapping when aalocating room for class//
        public bool CheckTimeOverlapping(RoomAlloted room)
        {
            DateTime fromInsertDaytime = DateTime.ParseExact(room.FormTime(), "hh:mm tt", CultureInfo.InvariantCulture);
            TimeSpan fromInsertTime    = fromInsertDaytime.TimeOfDay;
            DateTime toInsertDayTime   = DateTime.ParseExact(room.EndTime(), "hh:mm tt", CultureInfo.InvariantCulture);
            TimeSpan toInsertTime      = toInsertDayTime.TimeOfDay;



            bool checkTime   = false;
            var  allotedTime = dbContext.AllotedRooms.Where(x => x.roomID == room.roomID && x.dayID == room.dayID).Select(x => new
            {
                fromTime = x.fromTime,
                toTime   = x.toTime
            });

            foreach (var time in allotedTime)
            {
                DateTime fromDayTime = DateTime.ParseExact(time.fromTime.ToString(), "hh:mm tt", CultureInfo.InvariantCulture);
                TimeSpan fromTime    = fromDayTime.TimeOfDay;
                DateTime toIDayTime  = DateTime.ParseExact(time.toTime.ToString(), "hh:mm tt", CultureInfo.InvariantCulture);
                TimeSpan toTime      = toIDayTime.TimeOfDay;
                if (fromInsertTime >= fromTime && fromInsertTime < toTime)
                {
                    checkTime = true;
                    break;
                }
                else if (fromTime > toInsertTime && toInsertTime >= toTime)
                {
                    checkTime = true;
                    break;
                }
                else
                {
                    checkTime = false;
                }
            }
            return(checkTime);
        }
        public ActionResult AllocateRoom(RoomAlloted allotedroom)
        {
            if (ModelState.IsValid)
            {
                if (!roomManager.CheckTimeOverlapping(allotedroom))
                {
                    if (roomManager.CheckFromTimeGreaterToTime(allotedroom))
                    {
                        bool IsAllocated = roomManager.AllocateRoom(allotedroom);
                        if (IsAllocated)
                        {
                            ViewBag.Message = "Class room allocated successfully";
                        }
                        else
                        {
                            ViewBag.errMessage = "Class room failed allocate";
                        }
                    }
                    else
                    {
                        ViewBag.errMessage = "Starting time is greater than end Time";
                    }
                }
                else
                {
                    ViewBag.errMessage = "Class room is already scheduled";
                }
                ModelState.Clear();
            }


            ViewBag.days        = new SelectList(roomManager.GetAllDay(), "dayID", "daysName");
            ViewBag.departments = new SelectList(departmentManager.GetAllDepartment(), "depCode", "depName");
            ViewBag.rooms       = new SelectList(roomManager.GetAllRoom(), "roomID", "roomName");

            return(View());
        }
Beispiel #5
0
 public bool CheckTimeOverlapping(RoomAlloted room)
 {
     return(roomGetway.CheckTimeOverlapping(room));
 }
Beispiel #6
0
 public bool AllocateRoom(RoomAlloted allotedroom)
 {
     return(roomGetway.AllocateRoom(allotedroom));
 }