private async Task ExecuteSubmission(SubmisionDto submision, string _executionApi) { var client = new HttpClient(); var executionModel = new ExecutionModel { MemoryLimit = submision.MemoryLimit, ProblemName = submision.ProblemName, UserName = submision.UserName, TimeLimit = submision.TimeLimit, Compilator = submision.Compilator, FileName = submision.FileName, NumberOfTests = submision.NumberOfTests }; var serializedExecutionData = JsonConvert.SerializeObject(executionModel); var httpContentExecution = new StringContent(serializedExecutionData, Encoding.UTF8, "application/json"); var responseExecution = await client.PostAsync(_executionApi, httpContentExecution); if (responseExecution.StatusCode == System.Net.HttpStatusCode.OK) { var resultExecution = await responseExecution.Content.ReadAsStringAsync(); var responseExecutionModels = DeserializeExecutionResponse(resultExecution); var serializedData = _serializeTests.SerializeReponseTest(responseExecutionModels); //save in db the serializedData var evaluationModel = new Evaluation { EvaluationId = Guid.NewGuid(), EvaluationResult = serializedData.Item1, Score = serializedData.Item2, SubmisionId = submision.SubmissionId }; await _evaluationRepository.AddAsync(evaluationModel); UpdateSubmissionStatus(submision.SubmissionId, SubmissionStatus.Executed, string.Empty, serializedData.Item2); //notify with signalR await NotifyResponse(MessageType.ExecutionMessage, SubmissionStatus.Executed.ToString(), submision.SubmissionId.ToString(), serializedData.Item2.ToString()); var x = 2; } else { //server error UpdateSubmissionStatus(submision.SubmissionId, SubmissionStatus.ServerError, responseExecution.ReasonPhrase, 0); } }