public async Task <IActionResult> Building(int?number) { var query = new GetRoomsQuery(); if (number.HasValue) { var building = await Mediator.Send(new GetBuildingQuery() { Number = number.Value }); query.ValuePropertyFilter = x => x.BuildingId == building.Id && x.Seats.HasValue; } else { query.ValuePropertyFilter = x => x.Seats.HasValue; query.IncludeBuildingNo = true; } // TODO: Filter rooms based on user role. var rooms = await Mediator.Send(query); return(Ok(rooms)); }
public async Task <IEnumerable <RoomDescription> > Handle(GetRoomsQuery request, CancellationToken ct) { var resolver = client.GetGrain <IChatRoomResolver>(Constants.Resolvers.ChatRooms); var rooms = await resolver.GetRoomsAsync(); var models = new RoomDescription[rooms.Count]; var index = 0; foreach (var(id, name) in rooms) { var room = client.GetGrain <IChatRoom>(id); var description = await room.GetDescriptionAsync(); models[index++] = new RoomDescription(id, name, description.Description); } return(models); }
public async Task <ActionResult <RoomListVm> > GetAll([FromQuery] GetRoomsQuery query) { return(Ok(await Mediator.Send(query))); }
public Task <IEnumerable <RoomViewModel> > Handle(GetRoomsQuery request, CancellationToken cancellationToken) { var sql = @"SELECT * FROM Rooms"; return(_context.Database.GetDbConnection().QueryAsync <RoomViewModel>(sql)); }
public Task <IReadOnlyList <Room> > Handle(GetRoomsQuery request, CancellationToken cancellationToken) { var spec = RoomSpecification.GetAllSorted(); return(_roomRespository.GetAllAsync(spec)); }