Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 public async Task <ActionResult <RoomListVm> > GetAll([FromQuery] GetRoomsQuery query)
 {
     return(Ok(await Mediator.Send(query)));
 }
Exemplo n.º 4
0
        public Task <IEnumerable <RoomViewModel> > Handle(GetRoomsQuery request, CancellationToken cancellationToken)
        {
            var sql = @"SELECT * FROM Rooms";

            return(_context.Database.GetDbConnection().QueryAsync <RoomViewModel>(sql));
        }
Exemplo n.º 5
0
        public Task <IReadOnlyList <Room> > Handle(GetRoomsQuery request, CancellationToken cancellationToken)
        {
            var spec = RoomSpecification.GetAllSorted();

            return(_roomRespository.GetAllAsync(spec));
        }