private void CalcolaCondizione() { txtRisultato.Text = ""; string[] condizioni = _Condizione.Split(divisoriaCondizioniMultiple); foreach (string condizione in condizioni) { if (condizione.Split(divisoriaRisultato).Count() == 2) { string risultato = condizione.Split(divisoriaRisultato)[1]; string rimanente = condizione.Split(divisoriaRisultato)[0]; if (rimanente.IndexOf(divisoriaOR) != -1) { string[] coppieIDValori = rimanente.Split(divisoriaOR); foreach (string IDValore in coppieIDValori) { if (IDValore.Split(divisoriaIDValore).Count() == 2) { string IDint = IDValore.Split(divisoriaIDValore)[0]; string valore = IDValore.Split(divisoriaIDValore)[1]; foreach (DataRow dtrow in dati.Rows) { if (dtrow["ID"].ToString() == IDint) { txtRisultato.Text = "Risultato Check List: " + risultato; return; } } } } } else { string[] coppieIDValori = rimanente.Split(divisoriaAND); if (coppieIDValori.Count() > 0) { bool ok = true; foreach (string IDValore in coppieIDValori) { if (IDValore.Split(divisoriaIDValore).Count() == 2) { string IDint = IDValore.Split(divisoriaIDValore)[0]; string valore = IDValore.Split(divisoriaIDValore)[1]; foreach (DataRow dtrow in dati.Rows) { if (dtrow["ID"].ToString() == IDint) { if (dtrow["value"].ToString() != valore) { ok = false; break; } } } } } if (ok) { txtRisultato.Text = "Risultato Check List: " + risultato; return; } } } } } }
private void CalcolaCondizione() { txtRisultato.Text = ""; string[] condizioni = _Condizione.Split(divisoriaCondizioniMultiple); foreach (string condizione in condizioni) { if (condizione.Split(divisoriaRisultato).Count() == 2) { string risultato = condizione.Split(divisoriaRisultato)[1]; string rimanente = condizione.Split(divisoriaRisultato)[0]; if (rimanente.IndexOf(divisoriaOR) != -1) { string[] coppieIDValori = rimanente.Split(divisoriaOR); foreach (string IDValore in coppieIDValori) { if (IDValore.Split(divisoriaIDValore).Count() == 2) { string IDint = IDValore.Split(divisoriaIDValore)[0]; string valore = IDValore.Split(divisoriaIDValore)[1]; XmlNode node = _x.Document.SelectSingleNode("/Dati/Dato[@ID=" + _ID + "]/Valore[@ID=" + IDint + "]"); if (node == null) { continue; } if (node.Attributes["value"].Value == valore) { txtRisultato.Text = "Risultato Check List: " + risultato; return; } } } } else { string[] coppieIDValori = rimanente.Split(divisoriaAND); if (coppieIDValori.Count() > 0) { bool ok = true; foreach (string IDValore in coppieIDValori) { if (IDValore.Split(divisoriaIDValore).Count() == 2) { string IDint = IDValore.Split(divisoriaIDValore)[0]; string valore = IDValore.Split(divisoriaIDValore)[1]; XmlNode node = _x.Document.SelectSingleNode("/Dati/Dato[@ID=" + _ID + "]/Valore[@ID=" + IDint + "]"); if (node == null) { continue; } if (node.Attributes["value"].Value != valore) { ok = false; break; } } } if (ok) { txtRisultato.Text = "Risultato Check List: " + risultato; return; } } } } } }