Example #1
0
        public Task RemoveEventCourse(string courseId)
        {
            var roomName  = Context.QueryString["roomName"];
            var dbContext = new LOG735Entities();
            var pr        = dbContext.PrivateRooms.Where(v => v.RoomName == roomName).AsNoTracking().FirstOrDefault();

            if (pr == null)
            {
                throw new Exception("No privateroom with name");
            }
            if (roomName != null)
            {
                var id     = Int32.Parse(courseId);
                var course = dbContext.Courses.Where(v => v.CourseId == id).AsNoTracking().FirstOrDefault();

                if (course != null)
                {
                    dbContext.Courses.Attach(course);
                    dbContext.PrivateRooms.Attach(pr);
                    pr.Courses.Remove(course);
                    dbContext.SaveChanges();
                    dbContext.Entry(course).State = EntityState.Detached;
                    dbContext.Entry(pr).State     = EntityState.Detached;
                    return(Clients.Group(roomName).removeEvent(course.CourseId, course.CourseName));
                }
            }

            return(Clients.Group(roomName).errorEvent("Course n'existe pas"));
        }
Example #2
0
        public PrivateRooms CreatePrivateRoom(PrivateRooms privateRoom)
        {
            var dbContext = new LOG735Entities();

            dbContext.PrivateRooms.Add(privateRoom);
            dbContext.SaveChanges();
            dbContext.Entry(privateRoom).State = EntityState.Detached;
            return(privateRoom);
        }
Example #3
0
        public bool CreateActiveRoom(ActiveRooms activeRoom)
        {
            var dbContext = new LOG735Entities();

            dbContext.ActiveRooms.Add(activeRoom);
            dbContext.SaveChanges();

            return(true);
        }
Example #4
0
        public Task AddEventCourse(string eventCourseId)
        {
            var roomName  = Context.QueryString["roomName"];
            var dbContext = new LOG735Entities();

            var pr = dbContext.PrivateRooms.Where(v => v.RoomName == roomName).AsNoTracking().FirstOrDefault();

            if (pr == null)
            {
                throw new Exception("No privateroom with name");
            }
            if (roomName != null)
            {
                var id     = Int32.Parse(eventCourseId);
                var course = dbContext.Courses.Where(v => v.CourseId == id).Include(v => v.CourseInfo).Include(v => v.CourseInfo1).AsNoTracking().FirstOrDefault();
                if (course != null)
                {
                    var courseTitle         = $"{course.CourseAcronym} ({course.GroupNumber})";
                    var eventCalendarCourse = GetModelEventCalendarFromCourseInfo(course.CourseInfo, courseTitle, course.CourseName);
                    eventCalendarCourse.EventId = course.CourseId;
                    var eventCalendarLab = GetModelEventCalendarFromCourseInfo(course.CourseInfo1, courseTitle, course.CourseName);
                    eventCalendarLab.EventId = course.CourseId;

                    if (!pr.Courses.Where(v => v.CourseId == id).Any())
                    {
                        dbContext.Courses.Attach(course);
                        dbContext.PrivateRooms.Attach(pr);
                        pr.Courses.Add(course);

                        dbContext.SaveChanges();
                        dbContext.Entry(course).State = EntityState.Detached;
                        dbContext.Entry(pr).State     = EntityState.Detached;
                        return(Clients.Group(roomName).newEvent(eventCalendarCourse, eventCalendarLab));
                    }
                    return(Clients.Group(roomName).notifyWrongAction("Le cours est présent dans le calendrier"));
                }
            }

            return(Clients.Group(roomName).errorEvent("Course n'existe pas"));
        }