Пример #1
0
        public static List <SintomaWEB> getListaSintomas(String xmlPath)
        {
            List <SintomaWEB> lista = new List <SintomaWEB>();
            String            xpath = "//ListaDeSintomas/Sintoma/nome";
            XmlDocument       doc   = new XmlDocument();

            doc.Load(xmlPath);
            XmlNodeList nodeList = doc.SelectNodes(xpath);

            foreach (XmlNode node in nodeList)
            {
                SintomaWEB s = new SintomaWEB();
                s.nome = node.InnerText.ToString();
                lista.Add(s);
            }

            return(lista);
        }
Пример #2
0
        public static List <SistemaPericialWEB> getListaSistemaPericial(List <SintomaWEB> lista, String xmlPath)
        {
            List <SistemaPericialWEB> listaFinal = new List <SistemaPericialWEB>();


            String xpath = "";
            List <DiagnosticoWEB> listaDiagnosticos = new List <DiagnosticoWEB>();
            List <SintomaWEB>     listaSintomas;
            List <Int32>          bedjoras = new List <Int32>();
            DiagnosticoWEB        diagAux;

            foreach (SintomaWEB s in lista)
            {
                xpath = "//ListaSintomas/sintoma[text()=\"" + s.nome + "\"]/../..";
                XmlDocument doc = new XmlDocument();
                doc.Load(xmlPath);
                XmlNodeList nodeList = doc.SelectNodes(xpath);
                foreach (XmlNode node in nodeList)
                {
                    listaSintomas = new List <SintomaWEB>();
                    foreach (XmlNode x in node.ChildNodes[3].ChildNodes)
                    {
                        SintomaWEB sin = new SintomaWEB();
                        sin.nome = x.InnerText;
                        listaSintomas.Add(sin);
                    }
                    diagAux = new DiagnosticoWEB();
                    diagAux.listaSintomas = listaSintomas;
                    diagAux.orgao         = node.ChildNodes[0].InnerText;
                    diagAux.nome          = node.ChildNodes[1].InnerText;
                    diagAux.tratamento    = node.ChildNodes[2].InnerText;


                    //TESTE


                    if (exists(listaDiagnosticos, diagAux))
                    {
                        int indice = getIndice(listaDiagnosticos, diagAux);
                        bedjoras[indice] += 1;
                    }

                    else
                    {
                        listaDiagnosticos.Add(diagAux);
                        bedjoras.Add(1);
                    }
                }
            }

            foreach (DiagnosticoWEB d in listaDiagnosticos)
            {
                int                aux         = listaDiagnosticos.IndexOf(d);
                int                count       = bedjoras[aux];
                int                auxcontagem = d.listaSintomas.Count();
                decimal            bla         = count / Convert.ToDecimal(auxcontagem);
                decimal            resultado   = Math.Round(bla * 100, 1);
                SistemaPericialWEB sis         = new SistemaPericialWEB();
                sis.diagnostico = d.nome + " - " + d.orgao;
                sis.tratamento  = d.tratamento;
                sis.score       = resultado;
                listaFinal.Add(sis);
            }

            listaFinal.Sort(new ComparacaoResultados());



            return(listaFinal);
        }