예제 #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"));
        }
예제 #2
0
        public static AspNetUsers GetUser(string userName)
        {
            var dbcontext = new LOG735Entities();
            var user      = dbcontext.AspNetUsers.Where(v => v.UserName == userName).AsNoTracking().First();

            return(user);
        }
예제 #3
0
        public static List <Courses> GetCourseFromAcronym(string acronym)
        {
            var dbContext = new LOG735Entities();

            dbContext.Configuration.LazyLoadingEnabled = false;
            var listCourse = dbContext.Courses.Where(v => v.CourseAcronym == acronym).AsNoTracking().ToList();

            return(listCourse);
        }
예제 #4
0
        public bool CreateActiveRoom(ActiveRooms activeRoom)
        {
            var dbContext = new LOG735Entities();

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

            return(true);
        }
예제 #5
0
        public PrivateRooms CreatePrivateRoom(PrivateRooms privateRoom)
        {
            var dbContext = new LOG735Entities();

            dbContext.PrivateRooms.Add(privateRoom);
            dbContext.SaveChanges();
            dbContext.Entry(privateRoom).State = EntityState.Detached;
            return(privateRoom);
        }
예제 #6
0
        public static Courses GetCourseFromId(int id)
        {
            var dbContext = new LOG735Entities();

            dbContext.Configuration.LazyLoadingEnabled = false;

            var course = dbContext.Courses.Where(v => v.CourseId == id).Include(v => v.CourseInfo).Include(v => v.CourseInfo1).AsNoTracking().FirstOrDefault();


            return(course);
        }
예제 #7
0
        public PrivateRooms GetPrivateRoom(string roomName)
        {
            var dbContext = new LOG735Entities();

            dbContext.Configuration.LazyLoadingEnabled = false;
            var res = dbContext.Courses.Where(v => v.PrivateRooms.Where(v2 => v2.RoomName == roomName).Any()).AsNoTracking().ToList();

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

            pr.Courses = res;
            return(pr);
        }
예제 #8
0
        public static PrivateRooms RoomExistBD(PrivateRooms model)
        {
            var dbContext = new LOG735Entities();
            var pR        = dbContext.PrivateRooms.Where(v => v.RoomName == model.RoomName).AsNoTracking().FirstOrDefault();

            if (pR == null)
            {
                pR = model;
            }


            return(pR);
        }
예제 #9
0
        public static ICollection <Courses> GetCourseInfo(ICollection <Courses> courses)
        {
            var dbContext = new LOG735Entities();

            dbContext.Configuration.LazyLoadingEnabled = false;
            foreach (var course in courses)
            {
                var CourseInfo    = dbContext.CourseInfo.Where(v => v.CourseInfoId == course.CourseInfoId).AsNoTracking().First();
                var courseinfoLab = dbContext.CourseInfo.Where(v => v.CourseInfoId == course.CourseInfoLabId).AsNoTracking().First();
                course.CourseInfo  = CourseInfo;
                course.CourseInfo1 = courseinfoLab;
            }

            return(courses);
        }
예제 #10
0
        public void SetListCourse()
        {
            var dbContext = new LOG735Entities();

            dbContext.Configuration.LazyLoadingEnabled = false;

            var list       = dbContext.Courses.Select(v => v.CourseAcronym).Distinct().ToList();
            var selectList = new List <SelectListItem>();

            foreach (var element in list)
            {
                selectList.Add(new SelectListItem
                {
                    Value = element,
                    Text  = element
                });
            }
            ListCourse = selectList;
        }
예제 #11
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"));
        }