Exemple #1
0
        public void SavePodRooms(IEnumerable <PodRoomEditModel> podRoomEditModels, long podId)
        {
            var podRoomsInDb = _podRoomRepository.GetByPodId(podId);

            if (podRoomsInDb != null && podRoomsInDb.Any())
            {
                var currentPodRoomIds     = podRoomEditModels.Select(pre => pre.PodRoomId).ToArray();
                var podRoomIdsToBeDeleted = podRoomsInDb.Where(pr => !currentPodRoomIds.Contains(pr.Id)).Select(pr => pr.Id).ToArray();

                if (podRoomIdsToBeDeleted.Any())
                {
                    _podRoomRepository.DeletePodRooms(podRoomIdsToBeDeleted);
                }
            }

            var index = 1;

            foreach (var podRoomEditModel in podRoomEditModels)
            {
                var podRoom = new PodRoom
                {
                    Id       = podRoomEditModel.PodRoomId,
                    PodId    = podId,
                    Duration = podRoomEditModel.Duration,
                    RoomNo   = index
                };

                podRoom = _podRoomRepository.Save(podRoom);

                var testIds = podRoomEditModel.RoomTests.Where(rt => rt.IsSelected).Select(rt => rt.Test);
                _podRoomRepository.SavePodRoomTests(testIds, podRoom.Id);

                index++;
            }
        }
Exemple #2
0
 public PodRoom Save(PodRoom domain)
 {
     using (var adapter = PersistenceLayer.GetDataAccessAdapter())
     {
         var entity = Mapper.Map <PodRoom, PodRoomEntity>(domain);
         adapter.SaveEntity(entity, true, false);
         return(Mapper.Map <PodRoomEntity, PodRoom>(entity));
     }
 }