Exemplo n.º 1
0
        public async Task <GetRoomDto> GetRoomAsync(int id)
        {
            var room = await _repository.GetAsync(id);

            room.Building = await _buildingRepository.GetAsync(room.BuildingId);

            return(_converter.RoomToGetRoomDto(room));
        }
Exemplo n.º 2
0
        //TODO use other class methods to calculate
        public async Task <BuildingsDataDto> buildingDashboardData()
        {
            var buildingListResult = await _buildingsRepo.GetAsync();

            var buildingTypeListResult = await _buildingCategoryRepo.GetAsync();

            var buildingsDataDto = new BuildingsDataDto()
            {
                BuildingList     = _mapper.Map <IEnumerable <BuildingDataDto> >(buildingListResult),
                BuildingTypeList = _mapper.Map <List <BuildingTypeDataDto> >(buildingTypeListResult.ToList())
            };

            foreach (BuildingDataDto b in buildingsDataDto.BuildingList)
            {
                b.CurrentGuests = await _stayRepo.GetCount(s => s.CheckedOut == false &&
                                                           s.CheckedIn == true &&
                                                           !(DateTime.Compare(s.CheckInDate.Date, DateTime.Today) > 0) &&
                                                           s.BuildingId == b.Id);

                b.Capacity = await _roomRepo.GetSum(r => r.Capacity, r => r.BuildingId == b.Id);

                b.SurgeCapacity = await _roomRepo.GetSum(r => r.SurgeCapacity, r => r.BuildingId == b.Id);

                var bcat = buildingsDataDto.BuildingTypeList.Find(t => t.Id == b.BuildingCategoryId);
                if (bcat != null)
                {
                    bcat.Capacity      += b.Capacity;
                    bcat.CurrentGuests += b.CurrentGuests;
                    bcat.SurgeCapacity += b.SurgeCapacity;
                }
            }
            return(buildingsDataDto);
        }
Exemplo n.º 3
0
        public async Task <RoomInfo> GetStaticInfo(IRoom room)
        {
            var roomName = await GetRoomName(room.RoomAddress);

            var canControl = CanControl(room);

            if (canControl)
            {
                // make sure we track rooms we're controlling
                _exchangeRestChangeNotificationService.TrackOrganization(room.OrganizationId);
            }

            var buildingTask = _buildingRepository.GetAsync(room.BuildingId);
            var floorTask    = _floorRepository.GetAsync(room.FloorId);
            var building     = (await buildingTask) ?? new BuildingEntity();
            var floor        = (await floorTask) ?? new FloorEntity();

            return(BuildRoomInfo(roomName, canControl, (RoomMetadataEntity)room, building, floor));
        }
Exemplo n.º 4
0
        public async Task <int> AddAsync(Room room)
        {
            room.IsAvailable = true;
            room.IsDamaged   = false;
            room.IsClean     = true;
            room.IsRent      = false;
            room.IsDeleted   = false;
            room.Building    = await _buildingRepository.GetAsync(room.BuildingId);

            await _db.Rooms.AddAsync(room);

            await _db.SaveChangesAsync();

            return(room.Id);
        }
Exemplo n.º 5
0
        public async Task <GetBuildingDto> GetBuildingAsync(int id)
        {
            var building = await _repository.GetAsync(id);

            return(_converter.BuildingToGetBuildingDto(building));
        }