Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }