public void QuestionBatchRequestHandler() { var channel = queues.connection.CreateModel(); var consumer = new AsyncEventingBasicConsumer(channel); consumer.Received += async(model, ea) => { Console.WriteLine("Recieved Request for Questions"); var body = ea.Body; batch_query = (QuestionBatchRequest)body.DeSerialize(typeof(QuestionBatchRequest)); this.questionidbatchlist = new GraphBatchResponse(batch_query.Username); this.questionidbatchlist.questionids = (graphfunctions.GetQuestionBatchIds(batch_query.Username, batch_query.Tech, batch_query.Concepts)); channel.BasicAck(ea.DeliveryTag, false); channel.BasicPublish("KnowldegeGraphExchange", "Models.QuestionId", null, this.questionidbatchlist.Serialize()); var routingKey = ea.RoutingKey; Console.WriteLine(" - Routing Key <{0}>", routingKey); Console.WriteLine("- Delivery Tag <{0}>", ea.DeliveryTag); await Task.Yield(); }; channel.BasicConsume("QuizEngine_KnowledgeGraph", false, consumer); }
private HttpResponseMessage GetEmailResponseMessage(GraphBatchRequest request, string errorCode, string message, HttpStatusCode statusCode) { var graphResponses = request.Requests.Select(e => new GraphResponse { Status = statusCode, Body = new GraphResponseBody { Error = new GraphResponseError { Code = errorCode, Messsage = message } }, Id = e.Id, }); var graphBatchResponse = new GraphBatchResponse { Responses = graphResponses.ToList(), }; return(new HttpResponseMessage(statusCode) { Content = new StringContent(JsonConvert.SerializeObject(graphBatchResponse)), }); }