public async static Task <IActionResult> GetRoomsBySemesterId(RoomDBContext context, int semesterId) { try { var response = new List <RoomResponse>(); var listRoom = RoomDAO.GetRoomBySemester(context, semesterId); foreach (var room in listRoom) { response.Add(new RoomResponse { RoomId = room.RoomId, RoomName = room.Subject + "-" + room.ClassName, TeacherId = room.CreatorId, Image = room.Image, SemesterId = (int)room.SemesterId }); } return(new OkObjectResult(response)); } catch (Exception e) { return(new ObjectResult(new { message = e.Message }) { StatusCode = 500, }); } }
public async static Task <IActionResult> DeleteRoom(RoomDBContext context, int roomId, IWebHostEnvironment env) { var room = RoomDAO.Get(context, roomId); if (room != null) { var roomUserLinks = RoomUserLinkDAO.GetRoomLink(context, roomId); var roomChats = RoomChatDAO.GetChatByRoomId(context, roomId); var roomTimetables = TimetableDAO.GetByRoomId(context, roomId); var groups = RoomDAO.GetGroupByRoom(context, roomId); var result = await RoomUserLinkDAO.Delete(context, roomUserLinks); result = await RoomChatDAO.DeleteRoomChat(context, roomChats); result = await TimetableDAO.DeleteTimeTable(context, roomTimetables); foreach (var group in groups) { result = await DeleteRoom(context, group.RoomId, env); } var path = Path.Combine(env.ContentRootPath, $"Files/{roomId}"); if (Directory.Exists(path)) { Directory.Delete(path, true); } result = await RoomDAO.Delete(context, room); return(result); } return(new BadRequestObjectResult(new { message = "Class now exist!" })); }
public RoomServiceTest() { //setting up context factory = new ConnectionFactory(); _context = factory.CreateRoomDbContextForInMemory(); _context.Database.EnsureDeleted(); _context.Database.EnsureCreated(); _context.SaveChanges(); var room = new Room() { RoomId = 1, Subject = "testSubject", ClassName = "testName", CreatorId = "testUser", SemesterId = 1 }; RoomDAO.Create(_context, room); var chats = new List <RoomChat>(); chats.Add(new RoomChat() { Id = 1, RoomId = 1, UserId = "testUser", Date = DateTime.Now, Content = "testChat", Type = 1, }); chats.Add(new RoomChat() { Id = 2, RoomId = 1, UserId = "testUser", Date = DateTime.Now, Content = "testChat", Type = 1, }); chats.Add(new RoomChat() { Id = 3, RoomId = 1, UserId = "testUser", Date = DateTime.Now, Content = "testChat", Type = 1, }); foreach (var chat in chats) { RoomChatDAO.Create(_context, chat); } var links = new List <RoomUserLink>(); links.Add(new RoomUserLink() { RoomId = 1, RoomUserId = 1, UserId = "testUser" }); links.Add(new RoomUserLink() { RoomId = 1, RoomUserId = 2, UserId = "testUser1" }); links.Add(new RoomUserLink() { RoomId = 1, RoomUserId = 3, UserId = "testUser2" }); RoomUserLinkDAO.Create(_context, links); _env = new Mock <IWebHostEnvironment>(); _env.Setup(f => f.ContentRootPath).Returns(""); }
public static GroupResponse GroupUpdate(RoomDBContext context, HttpRequest request) { var groupId = Convert.ToInt32(request.Form["groupId"]); var listUserIds = (IEnumerable <string>)JsonConvert.DeserializeObject <List <string> >(request.Form["userIds"]); var existLinks = (IEnumerable <string>)context.RoomUserLink.Where(link => link.RoomId == groupId).Select(link => link.UserId).ToList(); var group = RoomDAO.Get(context, groupId); if (group != null) { var deleteUserIds = existLinks.Except(listUserIds).ToList(); var addUserIds = listUserIds.Except(existLinks).ToList(); var deleteLinks = deleteUserIds.Select(item => RoomUserLinkDAO.GetRoomUserLink(context, groupId, item)).ToList(); var addLinks = addUserIds.Select(item => new RoomUserLink { UserId = item, RoomId = group.RoomId }).ToList(); var result = RoomUserLinkDAO.Create(context, addLinks); result = RoomUserLinkDAO.Delete(context, deleteLinks); return(new GroupResponse { GroupId = group.RoomId, Name = group.Subject, UserIds = RoomUserLinkDAO.GetRoomLink(context, group.RoomId).Select(item => item.UserId).ToList(), StartTime = group.StartDate.ToUniversalTime(), EndTime = group.EndDate.ToUniversalTime() }); } return(null); }
public static List <Room> GetRoomsByUserId(RoomDBContext context, string userId) { var roomIds = context.RoomUserLink.Where(x => x.UserId == userId).Select(x => x.RoomId).ToList(); return(context.Room .Where(x => roomIds.Contains(x.RoomId) && !x.Group) .ToList()); }
public RoomDAOTest() { factory = new ConnectionFactory(); roomContext = factory.CreateRoomDbContextForInMemory(); roomContext.Database.EnsureDeleted(); roomContext.Database.EnsureCreated(); roomContext.SaveChanges(); }
public PublicService(UserManager <AppUser> userManager , RoomDBContext roomContext , ILogDAO logDAO , UserDbContext userContext) { _roomContext = roomContext; _userManager = userManager; _logDAO = logDAO; _userContext = userContext; }
public RoomsController(RoomDBContext roomContext, UserDbContext userContext, IWebHostEnvironment env, IEmailSender emailSender) { _roomContext = roomContext; _userContext = userContext; _env = env; _emailSender = emailSender; _contractResolver = new DefaultContractResolver { NamingStrategy = new CamelCaseNamingStrategy() }; }
public RoomDBContext CreateRoomDbContextForInMemory() { var option = new DbContextOptionsBuilder <RoomDBContext>().UseInMemoryDatabase(databaseName: "Test_Database").Options; var context = new RoomDBContext(option); if (context != null) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); } return(context); }
public static async Task <IActionResult> KickFromRoom(RoomDBContext context, int roomId, string userId) { var roomUserLink = RoomUserLinkDAO.GetRoomUserLink(context, roomId, userId); if (roomUserLink != null) { return(await RoomUserLinkDAO.Delete(context, roomUserLink)); } else { return(new ObjectResult(new { type = 1, message = "user not in the room" }) { StatusCode = 200, }); } }
public static List <RoomResponse> GetRoomByUserId(RoomDBContext context, string userId) { var rooms = RoomDAO.GetRoomsByUserId(context, userId); var response = new List <RoomResponse>(); foreach (var room in rooms) { response.Add(new RoomResponse { RoomId = room.RoomId, RoomName = room.Subject + "-" + room.ClassName, TeacherId = room.CreatorId, Image = room.Image, StartDate = room.StartDate, EndDate = room.EndDate, }); } return(response); }
public static async Task <IActionResult> DeleteRoomChat(RoomDBContext context, List <RoomChat> roomChats) { try { context.RoomChat.RemoveRange(roomChats); context.SaveChanges(); return(new ObjectResult(new { message = "success" }) { StatusCode = 200, }); } catch (Exception e) { return(new ObjectResult(new { message = e.Message }) { StatusCode = 500, }); } }
public static async Task <IActionResult> Create(RoomDBContext context, RoomChat roomChat) { try { context.RoomChat.Add(roomChat); context.SaveChanges(); return(new ObjectResult(new { message = "Add success!" }) { StatusCode = 200, }); } catch (Exception e) { return(new ObjectResult(new { message = e.Message }) { StatusCode = 500, }); } }
public static async Task <IActionResult> Update(RoomDBContext context, Semester semester) { try { context.Semester.Update(semester); context.SaveChanges(); return(new ObjectResult(new { message = "success" }) { StatusCode = 200, }); } catch (Exception e) { return(new ObjectResult(new { message = e.Message }) { StatusCode = 500, }); } }
public static IActionResult Update(RoomDBContext context, Timetable timetable) { try { context.TimeTable.UpdateRange(timetable); context.SaveChanges(); return(new ObjectResult(new { message = "Add success!" }) { StatusCode = 200, }); } catch (Exception e) { return(new ObjectResult(new { message = e.Message }) { StatusCode = 500, }); } }
public static IActionResult UpdateRoom(RoomDBContext context, Room room) { try { context.Room.Update(room); context.SaveChanges(); return(new ObjectResult(new { message = "Successful" }) { StatusCode = 200, }); } catch (Exception e) { return(new ObjectResult(new { message = e.Message }) { StatusCode = 500, }); } }
public static List <GroupResponse> GetGroupByRoomId(RoomDBContext context, int roomId) { var groups = RoomDAO.GetGroupByRoom(context, roomId); var responses = new List <GroupResponse>(); foreach (var group in groups) { var response = new GroupResponse { GroupId = group.RoomId, Name = group.Subject, UserIds = RoomUserLinkDAO.GetRoomLink(context, group.RoomId).Select(item => item.UserId).ToList(), StartTime = group.StartDate.ToUniversalTime(), EndTime = group.EndDate.ToUniversalTime() }; responses.Add(response); } return(responses); }
public RoomChatDAOTest() { factory = new ConnectionFactory(); roomContext = factory.CreateRoomDbContextForInMemory(); roomContext.Database.EnsureDeleted(); roomContext.Database.EnsureCreated(); roomContext.SaveChanges(); var room = new Room() { RoomId = 1, Subject = "testSubject", ClassName = "testName", CreatorId = "testUser", SemesterId = 1 }; RoomDAO.Create(roomContext, room); }
public static async Task <IActionResult> DeleteTimeTable(RoomDBContext context, List <Timetable> timetables) { try { context.TimeTable.RemoveRange(timetables); context.SaveChanges(); return(new ObjectResult(new { message = "delete success!" }) { StatusCode = 200, }); } catch (Exception e) { return(new ObjectResult(new { message = e.Message }) { StatusCode = 500, }); } }
public static async Task <IActionResult> Delete(RoomDBContext context, RoomUserLink roomUserLink) { try { context.RoomUserLink.Remove(roomUserLink); context.SaveChanges(); return(new ObjectResult(new { message = "success" }) { StatusCode = 200, }); } catch (Exception e) { return(new ObjectResult(new { message = e.Message }) { StatusCode = 500, }); } }
public static async Task <IActionResult> Create(RoomDBContext context, RoomUserLink roomUserLink) { try { await context.RoomUserLink.AddAsync(roomUserLink); context.SaveChanges(); return(new ObjectResult("success") { StatusCode = 200, }); } catch (Exception e) { return(new ObjectResult(e.Message) { StatusCode = 500, }); } }
public static async Task <IActionResult> Create(RoomDBContext context, List <RoomUserLink> roomUserLinks) { try { await context.RoomUserLink.AddRangeAsync(roomUserLinks); context.SaveChanges(); return(new ObjectResult(new { message = "success" }) { StatusCode = 200, }); } catch (Exception e) { return(new ObjectResult(new { message = e.Message }) { StatusCode = 500, }); } }
public static async Task <IActionResult> Create(RoomDBContext context, Timetable timetable) { try { await context.TimeTable.AddAsync(timetable); context.SaveChanges(); return(new ObjectResult(new { message = "Add success!" }) { StatusCode = 200, }); } catch (Exception e) { return(new ObjectResult(new { message = e.Message }) { StatusCode = 500, }); } }
public TeacherService( UserDbContext usercontext, UserManager <AppUser> userManager, RoomDBContext roomcontext, ILogDAO logDAO, IAttendanceDAO attendanceDAO, IPrivateMessageDAO privateMessageDAO, IEmailSender emailSender, IUrlHelperFactory urlHelperFactory, IActionContextAccessor actionContextAccessor) { _userContext = usercontext; _userManager = userManager; _roomContext = roomcontext; _logDAO = logDAO; _attendanceDAO = attendanceDAO; _privateMessageDAO = privateMessageDAO; _emailSender = emailSender; _urlHelperFactory = urlHelperFactory; _actionContextAccessor = actionContextAccessor; }
protected void Application_Start() { //移除所有视图引擎 ViewEngines.Engines.Clear(); //添加Razor视图引擎 ViewEngines.Engines.Add(new RazorViewEngine()); AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); using (var ctx = new RoomDBContext()) { var objectContext = ((IObjectContextAdapter)ctx).ObjectContext; var mappingCollection = (StorageMappingItemCollection)objectContext.MetadataWorkspace.GetItemCollection(DataSpace.CSSpace); mappingCollection.GenerateViews(new List <EdmSchemaError>()); } }
public static GroupResponse CreateGroup(RoomDBContext context, HttpRequest request) { var now = DateTime.Now; Room room = new Room { Subject = request.Form["name"], CreatorId = request.Form["teacherId"], MainRoomId = Convert.ToInt32(request.Form["roomId"]), Group = true, StartDate = now, EndDate = now }; var result = RoomDAO.Create(context, room); var group = RoomDAO.GetLastRoom(context); var listUserIds = JsonConvert.DeserializeObject <List <string> >(request.Form["userIds"]); var roomUserLinks = listUserIds.Select(userId => new RoomUserLink { RoomId = group.RoomId, UserId = userId }).ToList(); var existLink = context.RoomUserLink.Where(link => link.RoomId == group.RoomId).ToList(); if (existLink.Count != 0) { roomUserLinks = roomUserLinks.Where(link => !existLink.Any(x => x.UserId == link.UserId)).ToList(); } result = RoomUserLinkDAO.Create(context, roomUserLinks); return(new GroupResponse { GroupId = group.RoomId, Name = group.Subject, UserIds = RoomUserLinkDAO.GetRoomLink(context, group.RoomId).Select(item => item.UserId).ToList(), StartTime = group.StartDate.ToUniversalTime(), EndTime = group.EndDate.ToUniversalTime() }); }
public async static Task <IActionResult> SetGroupTime(RoomDBContext context, HttpRequest request) { try { var roomId = Convert.ToInt32(request.Form["roomId"]); var groups = RoomDAO.GetGroupByRoom(context, roomId); var duration = Convert.ToInt32(request.Form["duration"]); foreach (var group in groups) { group.StartDate = Convert.ToDateTime(request.Form["startTime"]); group.EndDate = Convert.ToDateTime(request.Form["startTime"]).AddMinutes(duration); RoomDAO.UpdateRoom(context, group); } return(new OkObjectResult("successful")); } catch (Exception e) { return(new ObjectResult(new { message = e.Message }) { StatusCode = 500, }); } }
public async static Task <IActionResult> ResetGroup(RoomDBContext context, int groupId, IWebHostEnvironment env) { var roomUserLinks = RoomUserLinkDAO.GetRoomLink(context, groupId); var roomChats = RoomChatDAO.GetChatByRoomId(context, groupId); var result = await RoomUserLinkDAO.Delete(context, roomUserLinks); result = await RoomChatDAO.DeleteRoomChat(context, roomChats); var path = Path.Combine(env.ContentRootPath, $"Files/{groupId}"); if (Directory.Exists(path)) { Directory.Delete(path, true); } var group = RoomDAO.Get(context, groupId); var now = DateTime.Now; group.EndDate = now; group.StartDate = now; RoomDAO.UpdateRoom(context, group); return(result); }
public static RoomUserLink GetRoomUserLink(RoomDBContext context, int roomId, string userId) { return(context.RoomUserLink.Where(link => link.RoomId == roomId && link.UserId == userId).FirstOrDefault()); }
public static List <RoomUserLink> GetRoomLink(RoomDBContext context, int roomId) { return(context.RoomUserLink.Where(link => link.RoomId == roomId).ToList()); }