Ejemplo n.º 1
0
        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()));
            }
        }
Ejemplo n.º 2
0
        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);
        }