private void QuestionCorelationViewSourceFilter(object sender, FilterEventArgs e) { QuestionCorelation cat = e.Item as QuestionCorelation; if (cat != null) { e.Accepted = (dbContextQuestionCorelation.Questions.Local.First(s => s.Id == cat.QuestionA) .Name.ToUpper().Contains(QuestionCorelationsSearchBox.Text.ToUpper())) || (dbContextQuestionCorelation.Questions.Local.First(s => s.Id == cat.QuestionB) .Name.ToUpper().Contains(QuestionCorelationsSearchBox.Text.ToUpper())); } }
public override ValidationResult Validate(object value, CultureInfo cultureInfo) { QuestionCorelation qCor = (value as BindingGroup).Items[0] as QuestionCorelation; if (qCor.QuestionA == 0) { return(new ValidationResult(false, "You have to choose one question A option")); } if (qCor.QuestionB == 0) { return(new ValidationResult(false, "You have to choose one question B option")); } if (qCor.CommonCases < 0) { return(new ValidationResult(false, "Common case value shall be greater or equal 0")); } if ((qCor.CorelationPower < 0) || (qCor.CorelationPower > 100)) { return(new ValidationResult(false, "Corelation power value shall be in range (0, 100)")); } if ((qCor.CorelationDirection < -100) || (qCor.CorelationDirection > 100)) { return(new ValidationResult(false, "Corelation direction power value shall be in range (-100, 100)")); } if (qCor.QuestionA == qCor.QuestionB) { return(new ValidationResult(false, "Questions A and B cannot be the same")); } AkinatorDatabaseEntities tempContext = new AkinatorDatabaseEntities(); if (tempContext.QuestionCorelations .Count(s => (((s.QuestionA == qCor.QuestionA) && (s.QuestionB == qCor.QuestionB) && (s.Id != qCor.Id)) || ((s.QuestionA == qCor.QuestionB) && (s.QuestionB == qCor.QuestionA) && (s.Id != qCor.Id)))) > 0) { return(new ValidationResult(false, "Question corelations have to be unique")); } return(ValidationResult.ValidResult); }