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")); }
public PrivateRooms CreatePrivateRoom(PrivateRooms privateRoom) { var dbContext = new LOG735Entities(); dbContext.PrivateRooms.Add(privateRoom); dbContext.SaveChanges(); dbContext.Entry(privateRoom).State = EntityState.Detached; return(privateRoom); }
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")); }