private async Task MessageReceived(object model, BasicDeliverEventArgs ea, IModel channel) { var inboundMessage = ea.Body; var inboundProperties = ea.BasicProperties; var responseProperties = channel.CreateBasicProperties(); responseProperties.CorrelationId = inboundProperties.CorrelationId; responseProperties.ReplyTo = inboundProperties.ReplyTo; var message = Encoding.UTF8.GetString(inboundMessage.ToArray()); var workplacesRequest = JsonConvert.DeserializeObject <GetWorkplacesRequest>(message); logger.LogInformation("SpaceID received: " + message); var workplaces = await workplaceService.FindAllAsync( new WorkplaceFilter(workplacesRequest.SpaceId)); var response = JsonConvert.SerializeObject( autoMapper.Map <Response <IEnumerable <GetWorkplaceResponse> > >(workplaces)); var responseBytes = Encoding.UTF8.GetBytes(response); string routingKey = ResponseBindingKeys[0]; channel.BasicPublish(exchange: ResponseExchange, routingKey: routingKey, basicProperties: responseProperties, body: responseBytes); channel.BasicAck(deliveryTag: ea.DeliveryTag, multiple: false); logger.LogInformation("Reply is sent via " + routingKey + " BindingKey"); }
public async Task <ActionResult> GetWorkplaces( [FromRoute] Guid officeGuid, [FromRoute] Guid spaceGuid) { var response = await workplaceService.FindAllAsync(new WorkplaceFilter(spaceResponse.Result.SpaceId)); return(response.Status == ResponseResult.Success ? Ok(response.Result) : StatusCode((int)response.Error.StatusCode, response.Error.Message)); }