Пример #1
0
        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);
        }
Пример #2
0
        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());
            }
        }
Пример #3
0
        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));
        }
Пример #4
0
        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);
     }
 }