public Room CreateRoom(RoomRequest roomRequest) { var room = new Room(); Coppier <RoomRequest, Room> .Copy(roomRequest, room); room.Cluster = dbContext.Clusters.Where(c => c.Id == roomRequest.ClusterId).FirstOrDefault(); var screenTypes = dbContext.ScreenTypes.Where(s => roomRequest.ScreenTypeIds.Contains(s.Id)).ToList(); foreach (var screen in screenTypes) { var roomScreenType = new RoomScreenType() { ScreenType = screen, Room = room, }; dbContext.Add(roomScreenType); } dbContext.Add(room); var isSuccess = Save(); if (!isSuccess) { return(null); } return(room); }
public Room UpdateRoom(int id, RoomRequest roomRequest) { var room = dbContext.Rooms.Where(r => r.Id == id).FirstOrDefault(); var screenTypesIsDelete = dbContext.RoomScreenTypes.Where(rs => rs.RoomId == id).ToList(); if (screenTypesIsDelete != null) { dbContext.RemoveRange(screenTypesIsDelete); } Coppier <RoomRequest, Room> .Copy(roomRequest, room); room.Cluster = dbContext.Clusters.Where(c => c.Id == roomRequest.ClusterId).FirstOrDefault(); var screenTypes = dbContext.ScreenTypes.Where(s => roomRequest.ScreenTypeIds.Contains(s.Id)).ToList(); foreach (var screen in screenTypes) { var roomScreenType = new RoomScreenType() { ScreenType = screen, Room = room, }; dbContext.Add(roomScreenType); } dbContext.Update(room); var isSuccess = Save(); if (!isSuccess) { return(null); } return(room); }