public GetRoomCommandResult Get(string roomId, [FromQuery] string fields) { GetRoomCommand command = new GetRoomCommand(); command.SetRoomId(roomId); command.SetFields(fields); return(Execute <GetRoomCommand, GetRoomCommandResult>(command)); }
public GetRoomCommandResult Handle(GetRoomCommand command) { GetRoomCommandResult result = new GetRoomCommandResult(); ObjectId roomId = new ObjectId(); if (!ObjectId.TryParse(command.RoomId, out roomId)) { AddNotification(nameof(command.RoomId), ENotifications.InvalidFormat); } if (Valid) { Room room = _roomRepository.Get(roomId); if (room == null && _roomRepository.Valid) { AddNotification(nameof(command.RoomId), ENotifications.NotFound); } if (Valid) { result = new GetRoomCommandResult(HttpStatusCode.OK).Build <Room, GetRoomCommandResult>(room, command.Fields); } else { result = new GetRoomCommandResult(HttpStatusCode.BadRequest, Notifications); } } else { result = new GetRoomCommandResult(HttpStatusCode.BadRequest, Notifications); } return(result); }