private ResultadoAnalise CriarResultadoAnalise(dynamic resultadoAnaliseJSON) { List <Analise> analises = new List <Analise>(); dynamic analisesJSON = resultadoAnaliseJSON.analises; foreach (var a in analisesJSON) { List <Metodo> metodos = new List <Metodo>(); dynamic metodosJSON = a.metodos; foreach (var m in metodosJSON) { Metodo metodo = new Metodo { Nome = m.nomeMetodo, InterpretacaoNeg = m.interpretacaoNeg, InterpretacaoPos = m.interpretacaoPos, ValorReferenciaNeg = m.valorReferenciaNeg, ValorReferenciaPos = m.valorReferenciaPos, ResultadoNumerico = m.resultadoNumerico, Resultado = m.resultadoTexto, }; metodos.Add(metodo); } Analise analise = new Analise { AmostraId = a.amostraId, Nome = a.nomeAnalise, Data = DateTime.Today, Metodos = metodos }; analises.Add(analise); } ResultadoAnalise resultadoAnalise = new ResultadoAnalise { Data = DateTime.Today, Analises = analises }; return(resultadoAnalise); }
public async Task <ActionResult> PedidoAnalisesAPI(int amostraId) { using (var client = new HttpClient()) { //Passing service base url client.BaseAddress = new Uri(Baseurl); client.DefaultRequestHeaders.Clear(); //Define request data format client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var jsonString = new JsonValues { AmostraId = amostraId, NomeAnaliseA = "HBsAg", NomeAnaliseB = "Ac HCV" }; var jsonT = JsonConvert.SerializeObject(jsonString); HttpResponseMessage Res = await client.PostAsync(Baseurl, new StringContent(jsonT, Encoding.UTF8, "application/json")); //Checking the response is successful or not which is sent using HttpClient if (Res.IsSuccessStatusCode) { //Storing the response details recieved from web api string response = await Res.Content.ReadAsStringAsync(); dynamic resultadoAnaliseJSON = JsonConvert.DeserializeObject(response); //Criar objeto ResultadoAnalise com o conteudo de JSON ResultadoAnalise resultadoAnalise = CriarResultadoAnalise(resultadoAnaliseJSON); await InsertInDatabase(resultadoAnalise); return(View("~/Views/PedidoAnalise/Edit.cshtml", resultadoAnalise)); } //returning the employee list to view return(Ok()); } }
public IActionResult POSTGerarAnalise([FromBody] JsonValues context) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } // Extrair dados do json var amostraId = context.AmostraId; var nomeAnaliseA = context.NomeAnaliseA; var nomeAnaliseB = context.NomeAnaliseB; var listaResultadosAnalise = new List <ResultadoAnalise>(); var _opReativo = new List <string> { "Reativo", "Não Reativo" }; var _opPosNeg = new List <string> { "Positivo", "Negativo" }; // Criar objetos ResultadoAnalise /*var res_HBsAG_CMIA = new ResultadoAnalise * { * AmostraId = amostraId, * NomeAnalise = nomeAnaliseA, * NomeMetodo = "CMIA", * InterpretacaoPos = "Não Reativo", * InterpretacaoNeg = "Reativo", * ValorReferenciaPos = _HBsAGvalorRefPosCMIA, * ValorReferenciaNeg = _HBsAGvalorRefNegCMIA, * ResultadoNumerico = (float)new Random().NextDouble() * (_HBsAGvalorRefPosCMIA - _HBsAGvalorRefNegCMIA) + _HBsAGvalorRefNegCMIA, * ResultadoTexto = (string)_opReativo[new Random().Next(_opReativo.Count)] * }; * * var res_HBsAG_MEIA = new ResultadoAnalise * { * AmostraId = amostraId, * NomeAnalise = nomeAnaliseA, * NomeMetodo = "MEIA", * InterpretacaoPos = "Negativo", * InterpretacaoNeg = "Positivo", * ValorReferenciaPos = _HBsAGvalorRefPosMEIA, * ValorReferenciaNeg = _HBsAGvalorRefNegMEIA, * ResultadoNumerico = (float) new Random().NextDouble() * (_HBsAGvalorRefPosMEIA - _HBsAGvalorRefNegMEIA) + _HBsAGvalorRefNegMEIA, * ResultadoTexto = (string)_opPosNeg[new Random().Next(_opPosNeg.Count)] * }; * * var res_AcHCV_CMIA = new ResultadoAnalise * { * AmostraId = amostraId, * NomeAnalise = nomeAnaliseB, * NomeMetodo = "CMIA", * InterpretacaoPos = "Não Reativo", * InterpretacaoNeg = "Reativo", * ValorReferenciaPos = _AcHCVvalorRefPosCMIA, * ValorReferenciaNeg = _AcHCVvalorRefNegCMIA, * ResultadoNumerico = (float) new Random().NextDouble() * (_AcHCVvalorRefPosCMIA - _AcHCVvalorRefNegCMIA) + _AcHCVvalorRefNegCMIA, * ResultadoTexto = (string)_opReativo[new Random().Next(_opReativo.Count)] * }; * * var res_AcHCV_ELISA = new ResultadoAnalise * { * AmostraId = amostraId, * NomeAnalise = nomeAnaliseB, * NomeMetodo = "ELISA", * InterpretacaoPos = "Não Reativo", * InterpretacaoNeg = "Reativo", * ValorReferenciaPos = _AcHCVvalorRefPosELISA, * ValorReferenciaNeg = _AcHCVvalorRefNegELISA, * ResultadoNumerico = (float) new Random().NextDouble() * (_AcHCVvalorRefPosELISA - _AcHCVvalorRefNegELISA) + _AcHCVvalorRefNegELISA, * ResultadoTexto = (string)_opReativo[new Random().Next(_opReativo.Count)] * };*/ var metodo_HBsAG_CMIA = new Metodo { NomeMetodo = "CMIA", InterpretacaoPos = "Não Reativo", InterpretacaoNeg = "Reativo", ValorReferenciaPos = _HBsAGvalorRefPosCMIA, ValorReferenciaNeg = _HBsAGvalorRefNegCMIA, ResultadoNumerico = (float)new Random().NextDouble() * (_HBsAGvalorRefPosCMIA - _HBsAGvalorRefNegCMIA) + _HBsAGvalorRefNegCMIA, ResultadoTexto = (string)_opReativo[new Random().Next(_opReativo.Count)] }; var metodo_HBsAG_MEIA = new Metodo { NomeMetodo = "MEIA", InterpretacaoPos = "Negativo", InterpretacaoNeg = "Positivo", ValorReferenciaPos = _HBsAGvalorRefPosMEIA, ValorReferenciaNeg = _HBsAGvalorRefNegMEIA, ResultadoNumerico = (float)new Random().NextDouble() * (_HBsAGvalorRefPosMEIA - _HBsAGvalorRefNegMEIA) + _HBsAGvalorRefNegMEIA, ResultadoTexto = (string)_opPosNeg[new Random().Next(_opPosNeg.Count)] }; var metodo_AcHCV_CMIA = new Metodo { NomeMetodo = "CMIA", InterpretacaoPos = "Não Reativo", InterpretacaoNeg = "Reativo", ValorReferenciaPos = _AcHCVvalorRefPosCMIA, ValorReferenciaNeg = _AcHCVvalorRefNegCMIA, ResultadoNumerico = (float)new Random().NextDouble() * (_AcHCVvalorRefPosCMIA - _AcHCVvalorRefNegCMIA) + _AcHCVvalorRefNegCMIA, ResultadoTexto = (string)_opReativo[new Random().Next(_opReativo.Count)] }; var metodo_AcHCV_ELISA = new Metodo { NomeMetodo = "ELISA", InterpretacaoPos = "Não Reativo", InterpretacaoNeg = "Reativo", ValorReferenciaPos = _AcHCVvalorRefPosELISA, ValorReferenciaNeg = _AcHCVvalorRefNegELISA, ResultadoNumerico = (float)new Random().NextDouble() * (_AcHCVvalorRefPosELISA - _AcHCVvalorRefNegELISA) + _AcHCVvalorRefNegELISA, ResultadoTexto = (string)_opReativo[new Random().Next(_opReativo.Count)] }; var analise_HBsAG_CMIA_MEIA = new Analise { AmostraId = amostraId, NomeAnalise = nomeAnaliseA, Metodos = new List <Metodo> { metodo_HBsAG_CMIA, metodo_HBsAG_MEIA } }; var analise_AcHCV_CMIA_ELISA = new Analise { AmostraId = amostraId, NomeAnalise = nomeAnaliseB, Metodos = new List <Metodo> { metodo_AcHCV_CMIA, metodo_AcHCV_ELISA } }; var res_HBsAG_CMIA = new ResultadoAnalise { Analises = new List <Analise> { analise_HBsAG_CMIA_MEIA, analise_AcHCV_CMIA_ELISA } }; /*listaResultadosAnalise.Add(res_HBsAG_CMIA); * listaResultadosAnalise.Add(res_HBsAG_MEIA); * listaResultadosAnalise.Add(res_AcHCV_CMIA); * listaResultadosAnalise.Add(res_AcHCV_ELISA);*/ /*var jsonToReturn = JsonConvert.SerializeObject(listaResultadosAnalise);*/ return(Ok(res_HBsAG_CMIA)); }
private async Task InsertInDatabase(ResultadoAnalise resultadoAnalise) { var novoResAnalise = new ResultadoAnalise { Data = resultadoAnalise.Data }; await _context.ResultadoAnalise.AddAsync(novoResAnalise); await _context.SaveChangesAsync(); var objResAnalise = await _context.ResultadoAnalise.AsNoTracking().LastOrDefaultAsync(); var amostraID = -1; foreach (var a in resultadoAnalise.Analises) { var novaAnalise = new Analise { AmostraId = a.AmostraId, Nome = a.Nome, Data = a.Data, ResultadoAnaliseId = objResAnalise.ResultadoAnaliseId }; await _context.Analise.AddAsync(novaAnalise); await _context.SaveChangesAsync(); amostraID = a.AmostraId; var objAnalise = await _context.Analise.LastOrDefaultAsync(); foreach (var m in a.Metodos) { var novoMetodo = new Metodo { AnaliseId = objAnalise.AnaliseId, Nome = m.Nome, InterpretacaoNeg = m.InterpretacaoNeg, InterpretacaoPos = m.InterpretacaoPos, ValorReferenciaNeg = m.ValorReferenciaNeg, ValorReferenciaPos = m.ValorReferenciaPos, ResultadoNumerico = m.ResultadoNumerico, Resultado = m.Resultado }; await _context.Metodo.AddAsync(novoMetodo); await _context.SaveChangesAsync(); } } var getAmostraToUpdate = await _context.Amostra.AsNoTracking().SingleOrDefaultAsync(ams => ams.AmostraId == amostraID); var amostraToUpdate = new Amostra { AmostraId = getAmostraToUpdate.AmostraId, DadorId = getAmostraToUpdate.DadorId, DataRecolha = getAmostraToUpdate.DataRecolha, EstadoAmostra = Models.Enums.EstadoAmostraEnum.Analisada, TipoAmostra = getAmostraToUpdate.TipoAmostra }; _context.Update(amostraToUpdate); await _context.SaveChangesAsync(); }
private void ExibirResultadoAnalise(ResultadoAnalise ResultadoAnalise) { ListaMensagens.Items.Clear(); foreach (ErroSintatico ErroSintatico in ResultadoAnalise.getErrosSintaticos()) { String Linha = ErroSintatico.linha.ToString(); String Coluna = ErroSintatico.coluna.ToString(); String Mensagem = ErroSintatico.mensagem; ListViewItem ItemLista = new ListViewItem(); ItemLista.ImageKey = "IconeErro"; ItemLista.Group = ListaMensagens.Groups["ErrosSintaticos"]; ItemLista.SubItems.AddRange(new String[] { Mensagem, Linha, Coluna }); ListaMensagens.Items.Add(ItemLista); } foreach (ErroSemantico ErroSemantico in ResultadoAnalise.getErrosSemanticos()) { String Linha = ErroSemantico.linha.ToString(); String Coluna = ErroSemantico.coluna.ToString(); String Mensagem = ErroSemantico.mensagem; ListViewItem ItemLista = new ListViewItem(); ItemLista.ImageKey = "IconeErro"; ItemLista.Group = ListaMensagens.Groups["ErrosSemanticos"]; ItemLista.SubItems.AddRange(new String[] { Mensagem, Linha, Coluna }); ListaMensagens.Items.Add(ItemLista); } }
private void Analisar() { try { resultadoTeste = Aplicacao.Portugol.analisar(Editor.Text); ExibirResultadoAnalise(resultadoTeste); } catch (Exception excecao) { MessageBox.Show(excecao.Message); } }