public AlgoritmoResolvido(Guid idUsuario, Guid idAlgoritmo, LinguagensProgramacao idLinguagem,
                           DateTime dataConclusao)
 {
     IdUsuario     = idUsuario;
     IdAlgoritmo   = idAlgoritmo;
     IdLinguagem   = idLinguagem;
     DataConclusao = dataConclusao;
 }
Beispiel #2
0
 public ExecucaoTeste(Guid idCasoTeste, Guid idUsuario, LinguagensProgramacao idLinguagem,
                      bool sucesso, int tempoExecucao)
 {
     IdCasoTeste   = idCasoTeste;
     IdUsuario     = idUsuario;
     IdLinguagem   = idLinguagem;
     Sucesso       = sucesso;
     TempoExecucao = tempoExecucao;
 }
        public async Task <CompilerResponse> Compile(string code, IEnumerable <string> entradas, LinguagensProgramacao language)
        {
            var options = new CompilerOptions(
                "429fb7480ce5cb918fe31f3d35a92b98",
                "7767df95c98ee926cd2ec533b306532aa58c2eae40527c26f726e20d087cc507",
                code,
                language.GetDescription(),
                language.GetCompilerType(),
                entradas.Any() ? entradas.Aggregate((prev, str) => $"{prev}\n{str}") : "");
            var jsonOptions = JsonConvert.SerializeObject(options);

            //var content = new StringContent(jsonOptions);
            //content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            //var response = await _httpClient.PostAsync("/execute", content);
            var response = await _compilerApiCall.Execute(options);

            if (!response.IsSuccessStatusCode)
            {
                var error = await response.Content.ReadAsStringAsync();

                throw new CompilingFailedException(JsonConvert.DeserializeObject <ExpectedError>(error));
            }

            return(JsonConvert.DeserializeObject <CompilerResponse>(await response.Content.ReadAsStringAsync()));
        }
 public AlgoritmoLinguagemDisponivel(Guid idAlgoritmo, LinguagensProgramacao idLinguagem)
 {
     IdAlgoritmo = idAlgoritmo;
     IdLinguagem = idLinguagem;
 }