public async Task <GetRoomDto> GetRoomAsync(int id) { var room = await _repository.GetAsync(id); room.Building = await _buildingRepository.GetAsync(room.BuildingId); return(_converter.RoomToGetRoomDto(room)); }
//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); }
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)); }
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); }
public async Task <GetBuildingDto> GetBuildingAsync(int id) { var building = await _repository.GetAsync(id); return(_converter.BuildingToGetBuildingDto(building)); }