private void btnNovaConsulta_Click(object sender, EventArgs e) { //this.Close(); DaoCaso dao = new DaoCaso(); List <Caso> casos = dao.getAll(); CMaxMin maxMin = new CMaxMin(); PropertyInfo[] nomeAtribs = casos[0].GetType().GetProperties(); MaxMinimos mm = MaxMinimos.getInstance(); for (int i = 3; i < nomeAtribs.Length - 1; i++) { List <double> valores = new List <double>(); valores = maxMin.maxMinCol(casos, nomeAtribs[i]); mm.table.Add(nomeAtribs[i].Name, valores); } SelecionaAtributos st = new SelecionaAtributos(); st.Show(); this.Hide(); }
private void btn_avançar_Click(object sender, EventArgs e) { DaoCaso dao = new DaoCaso(); Caso novoCaso = new Caso(); novoCaso.caso = Convert.ToInt32(GridViewCasoscomSimilaridade.SelectedCells[0].Value.ToString()); novoCaso = dao.search(novoCaso); CasoNovo casoSel = CasoNovo.getInstance(); casoSel._id = novoCaso._id; casoSel.area_damaged = novoCaso.area_damaged; casoSel.canker_lesion = novoCaso.canker_lesion; casoSel.caso = novoCaso.caso; casoSel.crop_hist = novoCaso.crop_hist; casoSel.date = novoCaso.date; casoSel.doenca = novoCaso.doenca; casoSel.external_decay = novoCaso.external_decay; casoSel.fruiting_bodies = novoCaso.fruiting_bodies; casoSel.fruit_pods = novoCaso.fruit_pods; casoSel.fruit_spots = novoCaso.fruit_spots; casoSel.germination = novoCaso.germination; casoSel.hail = novoCaso.hail; casoSel.int_discolor = novoCaso.int_discolor; casoSel.leafspots_halo = novoCaso.leafspots_halo; casoSel.leafspots_marg = novoCaso.leafspots_marg; casoSel.leafspot_size = novoCaso.leafspot_size; casoSel.leaf_malf = novoCaso.leaf_malf; casoSel.leaf_mild = novoCaso.leaf_mild; casoSel.leaf_shread = novoCaso.leaf_shread; casoSel.leaves = novoCaso.leaves; casoSel.lodging = novoCaso.lodging; casoSel.mold_growth = novoCaso.mold_growth; casoSel.mycelium = novoCaso.mycelium; casoSel.plant_growth = novoCaso.plant_growth; casoSel.plant_stand = novoCaso.plant_stand; casoSel.precip = novoCaso.precip; casoSel.roots = novoCaso.precip; casoSel.roots = novoCaso.roots; casoSel.sclerotia = novoCaso.sclerotia; casoSel.seed = novoCaso.seed; casoSel.seed_discolor = novoCaso.seed_discolor; casoSel.seed_size = novoCaso.seed_size; casoSel.seed_tmt = novoCaso.seed_tmt; casoSel.severity = novoCaso.severity; casoSel.shriveling = novoCaso.shriveling; casoSel.stem = novoCaso.stem; casoSel.stem_cankers = novoCaso.stem_cankers; casoSel.temp = casoSel.temp; this.Hide(); TelaFinal final = new TelaFinal(); final.Show(); }
public void gravaNovoCaso(Caso caso) { DaoCaso dao = new DaoCaso(); int num = dao.numDocumentos(); caso.caso = num; dao.create(caso); }
public int numCasos() { DaoCaso dao = new DaoCaso(); return(dao.numDocumentos()); }
public Caso getCasos(int i) { DaoCaso casosDao = new DaoCaso(); Caso c = new Caso(); c.caso = i; return(casosDao.search(c)); //List<Caso> casos = casosDao.getAll(); //Hashtable atri_casos = new Hashtable(); /*if (casos != null) * { * foreach (Caso c in casos) * { * * /*foreach(Caso c1 in casos) * { * * } * * atri_casos.Add("area_damaged", c.area_damaged); * atri_casos.Add("canker_lesion", c.canker_lesion); * atri_casos.Add("crop_hist", c.crop_hist); * atri_casos.Add("date", c.date); * atri_casos.Add("externalDecay", c.externalDecay); * atri_casos.Add("fruitingBodies", c.fruitingBodies); * atri_casos.Add("fruitPods", c.fruitPods); * atri_casos.Add("fruitSpots", c.fruitSpots); * atri_casos.Add("germination", c.germination); * atri_casos.Add("hail", c.hail); * atri_casos.Add("intDiscolor", c.intDiscolor); * atri_casos.Add("leafShread", c.leafShread); * atri_casos.Add("leafsports_halo", c.leafsports_halo); * atri_casos.Add("leafspotMarg", c.leafspotMarg); * atri_casos.Add("leafspotSize", c.leafspotSize); * atri_casos.Add("leaf_malf", c.leaf_malf); * atri_casos.Add("leaf_mild", c.leaf_mild); * atri_casos.Add("leaves", c.leaves); * atri_casos.Add("lodging", c.lodging); * atri_casos.Add("moldGrowth", c.moldGrowth); * atri_casos.Add("mycelium", c.mycelium); * atri_casos.Add("plantStand", c.plantStand); * atri_casos.Add("plant_growth", c.plant_growth); * atri_casos.Add("precip", c.precip); * atri_casos.Add("roots", c.roots); * atri_casos.Add("sclerotia", c.sclerotia); * atri_casos.Add("seed", c.seed); * atri_casos.Add("seedDiscolor", c.seedDiscolor); * atri_casos.Add("seedSize", c.seedSize); * atri_casos.Add("seedTmt", c.seedTmt); * atri_casos.Add("severity", c.severity); * atri_casos.Add("shriveling", c.shriveling); * atri_casos.Add("stem", c.stem); * atri_casos.Add("stemCankers", c.stemCankers); * atri_casos.Add("temp", c.temp); * * } * } * * return atri_casos;*/ }
public List <Caso> calculaSimilaridadeLocal(Caso casoBase) { DaoCaso dao_caso = new DaoCaso(); List <Caso> allCasos = dao_caso.getAll(); //Hashtable sl = new Hashtable(); PropertyInfo[] valCaso = casoBase.GetType().GetProperties(); DaoAtributo at = new DaoAtributo(); Atributo atb2 = new Atributo(); Hashtable pesos = getPesos(); List <Atributo> atbs = at.getAll(); List <Caso> casoSimilar = new List <Caso>(); double similaridadeLocal = 0; double similaridadeGlobal = 0; double div = 0; for (int j = 0; j < allCasos.Count; j++) { Hashtable similaridades = new Hashtable(); PropertyInfo[] valTab = allCasos[j].GetType().GetProperties(); similaridadeLocal = 0; div = 0; for (int i = 3; i <= 37; i++) { //atb.atributo = valTab[i].Name; //Atributo atb2 = at.searchOther(atb); atb2 = atbs.Find(a => a.atributo.Equals(valTab[i].Name.Replace('_', '-'))); if (valCaso[i].GetValue(casoBase).Equals("Desconhecido") || valTab[i].GetValue(allCasos[j]).Equals("Desconhecido")) { similaridadeLocal += 0; //similaridades.Add(valCaso[i].Name, similaridadeLocal); } else if (valCaso[i].GetValue(casoBase).Equals("Desconhecido") && valTab[i].GetValue(allCasos[j]).Equals("Desconhecido")) { similaridadeLocal += (1 * Convert.ToDouble(pesos[valTab[i].Name.Replace('_', '-')].ToString())); div += Convert.ToDouble(pesos[valTab[i].Name.Replace('_', '-')].ToString()); //similaridades.Add(valCaso[i].Name, similaridadeLocal); } else if (atb2.similaridade.Equals("Não")) { if (valCaso[i].Name.Equals(valTab[i].Name)) { similaridadeLocal += (1 * Convert.ToDouble(pesos[valTab[i].Name.Replace('_', '-')].ToString())); div += Convert.ToDouble(pesos[valTab[i].Name.Replace('_', '-')].ToString()); } similaridadeLocal += 0; //similaridades.Add(valCaso[i].Name, similaridadeLocal); } else { var atbVal = valCaso[i].GetValue(casoBase); var atbTabela = valTab[i].GetValue(allCasos[j]); double valorCaso = valAtributo(valCaso[i].Name, (String)atbVal); double valorTab = valAtributo(valTab[i].Name, (String)atbTabela); double[] maxMin = maxMinCol(valCaso[i].Name); /*maxMin[0] = 1; * maxMin[1] = 3;*/ if (maxMin[0] != maxMin[1]) { similaridadeLocal += (1 - ((Math.Abs(valorCaso - valorTab))) / (maxMin[1] - maxMin[0]) * Convert.ToDouble(pesos[valTab[i].Name.Replace('_', '-')].ToString())); div += Convert.ToDouble(pesos[valTab[i].Name.Replace('_', '-')].ToString()); } else { similaridadeLocal += (1 - (Math.Abs(valorCaso - valorTab)) * Convert.ToDouble(pesos[valTab[i].Name.Replace('_', '-')].ToString())); div += Convert.ToDouble(pesos[valTab[i].Name.Replace('_', '-')].ToString()); } //similaridades.Add(valCaso[i].Name, similaridadeLocal); } } //sl.Add(allCasos[j].caso, similaridades); similaridadeGlobal = similaridadeLocal / div; Caso c = allCasos[j]; c.SimilaridadeGlobal = similaridadeGlobal; casoSimilar.Add(c); } return(casoSimilar); }