示例#1
0
        public static ITestReport CreateReport(EnumPTests test, human human, testresult testresult, pBaseEntities ge, fBaseEntities fe, bool withresult)
        {
            ITestReport _genreport = null;

            switch (test)
            {
            case EnumPTests.KettellC:
                _genreport = new KettellCTestReport(human, testresult, ge, fe, withresult);
                break;

            case EnumPTests.PNN:
                _genreport = new PNNTestReport(human, testresult, ge, fe);
                break;

            case EnumPTests.Adaptability:
                _genreport = new DTestReport(human, testresult, ge, fe, withresult);
                break;

            case EnumPTests.FPI:
                _genreport = new FPITestReport(human, testresult, ge, fe, withresult);
                break;

            case EnumPTests.KettellA:
                _genreport = new KettellATestReport(human, testresult, ge, fe, withresult);
                break;

            case EnumPTests.Modul2:
                _genreport = new MDTestReport(human, testresult, ge, fe, withresult);
                break;

            case EnumPTests.Contrasts:
                _genreport = new ContrastsTestReport(human, testresult, ge, fe);
                break;

            case EnumPTests.Prognoz:
                _genreport = new PTestReport(human, testresult, ge, fe, withresult);
                break;

            case EnumPTests.Addictive:
                _genreport = new ATestReport(human, testresult, ge, fe, withresult);
                break;

            case EnumPTests.NPNA:
                _genreport = new NPNTestReport(human, testresult, ge, fe, withresult);
                break;

            case EnumPTests.Leongard:
                _genreport = new LTestReport(human, testresult, ge, fe, withresult);
                break;
            }
            return(_genreport);
        }
示例#2
0
 public MDTestReference(ITestReport MDReport)
 {
     _mdtestreport = (MDTestReport)MDReport;
 }
示例#3
0
        /// <summary>
        /// Создает характеристику по выбранным тестам
        /// </summary>
        /// <param name="checkedtestsid">Отмеченные тесты</param>
        /// <param name="SelectedRef">Выбранная характеристика</param>
        /// <returns></returns>
        public IReference GetReference(List <int> checkedtestsid, EnumPReferences SelectedRef)
        {
            IReference        _reference  = null;
            List <testresult> testresults = new List <testresult>();

            foreach (int testid in checkedtestsid)
            {//выбираем все отмеченные тесты
                testresults.Add(_human.testresults.FirstOrDefault(test => test.idtr == testid));
            }

            switch (SelectedRef)
            {
            case EnumPReferences.KettellC:
                if (testresults.Count(test => test.testid == (int)EnumPTests.KettellC) != 0)
                {
                    testresult  kettellctestresult = testresults.LastOrDefault(test => test.testid == (int)EnumPTests.KettellC);
                    ITestReport kettellcreport     = new KettellCTestReport(_human, kettellctestresult, _ge, _fe, true);
                    _reference = new KettellCTestReference(kettellcreport);
                }
                else
                {
                    MessageBox.Show("Для выбранной характеристики необходим тест Кеттелла С \nОтметьте его галочной в списке тестов");
                }
                break;

            case EnumPReferences.Adaptability:
                if (testresults.Count(test => test.testid == (int)EnumPTests.Adaptability) != 0)
                {
                    testresult  dtestresult = testresults.LastOrDefault(test => test.testid == (int)EnumPTests.Adaptability);
                    ITestReport dreport     = new DTestReport(_human, dtestresult, _ge, _fe, true);
                    _reference = new DTestReference(dreport);
                }
                else
                {
                    MessageBox.Show("Для выбранной характеристики необходим тест Адаптивность \nОтметьте его галочной в списке тестов");
                }
                break;

            case EnumPReferences.FPI:
                if (testresults.Count(test => test.testid == (int)EnumPTests.FPI) != 0)
                {
                    testresult  fpitestresult = testresults.LastOrDefault(test => test.testid == (int)EnumPTests.FPI);
                    ITestReport fpireport     = new FPITestReport(_human, fpitestresult, _ge, _fe, true);
                    _reference = new FPITestReference(fpireport);
                }
                else
                {
                    MessageBox.Show("Для выбранной характеристики необходим тест FPI \nОтметьте его галочной в списке тестов");
                }
                break;

            case EnumPReferences.KettellA:
                if (testresults.Count(test => test.testid == (int)EnumPTests.KettellA) != 0)
                {
                    testresult  kettellatestresult = testresults.LastOrDefault(test => test.testid == (int)EnumPTests.KettellA);
                    ITestReport kettellareport     = new KettellATestReport(_human, kettellatestresult, _ge, _fe, true);
                    _reference = new KettellATestReference(kettellareport);
                }
                else
                {
                    MessageBox.Show("Для выбранной характеристики необходим тест Кеттелла А \nОтметьте его галочной в списке тестов");
                }
                break;

            case EnumPReferences.Modul:
                if (testresults.Count(test => test.testid == (int)EnumPTests.Modul2) != 0)
                {
                    testresult  mdtestresult = testresults.LastOrDefault(test => test.testid == (int)EnumPTests.Modul2);
                    ITestReport mdreport     = new MDTestReport(_human, mdtestresult, _ge, _fe, true);
                    _reference = new MDTestReference(mdreport);
                }
                else
                {
                    MessageBox.Show("Для выбранной характеристики необходим тест Модуль \nОтметьте его галочной в списке тестов");
                }
                break;

            case EnumPReferences.Integrative:
                if (testresults.Count(test => test.testid == (int)EnumPTests.KettellC) != 0)
                {
                    testresult  kettelltestresult = testresults.LastOrDefault(test => test.testid == (int)EnumPTests.KettellC);
                    ITestReport kettellreport     = new KettellCTestReport(_human, kettelltestresult, _ge, _fe, true);
                    _reference = new IntegrativeReference(kettellreport, _fe);
                }
                else
                {
                    MessageBox.Show("Для выбранной характеристики необходим тест Кеттелла С \nОтметьте его галочной в списке тестов");
                }
                break;

            case EnumPReferences.Prognoz:
                if (testresults.Count(test => test.testid == (int)EnumPTests.Prognoz) != 0)
                {
                    testresult  prognoztestresult = testresults.LastOrDefault(test => test.testid == (int)EnumPTests.Prognoz);
                    ITestReport prognozreport     = new PTestReport(_human, prognoztestresult, _ge, _fe, true);
                    _reference = new PTestReference(prognozreport);
                }
                else
                {
                    MessageBox.Show("Для выбранной характеристики необходим тест Прогноз 2 \nОтметьте его галочной в списке тестов");
                }
                break;

            case EnumPReferences.Addictive:
                if (testresults.Count(test => test.testid == (int)EnumPTests.Addictive) != 0)
                {
                    testresult  addictivetestresult = testresults.LastOrDefault(test => test.testid == (int)EnumPTests.Addictive);
                    ITestReport addictivereport     = new ATestReport(_human, addictivetestresult, _ge, _fe, true);
                    _reference = new ATestReference(addictivereport);
                }
                else
                {
                    MessageBox.Show("Для выбранной характеристики необходим тест Аддиктивная склонность \nОтметьте его галочной в списке тестов");
                }
                break;

            case EnumPReferences.NPNA:
                if (testresults.Count(test => test.testid == (int)EnumPTests.NPNA) != 0)
                {
                    testresult  addictivetestresult = testresults.LastOrDefault(test => test.testid == (int)EnumPTests.NPNA);
                    ITestReport addictivereport     = new NPNTestReport(_human, addictivetestresult, _ge, _fe, true);
                    _reference = new NPNTestReference(addictivereport);
                }
                else
                {
                    MessageBox.Show("Для выбранной характеристики необходим тест НПН-А \nОтметьте его галочной в списке тестов");
                }
                break;

            case EnumPReferences.Leongard:
                if (testresults.Count(test => test.testid == (int)EnumPTests.Leongard) != 0)
                {
                    testresult  addictivetestresult = testresults.LastOrDefault(test => test.testid == (int)EnumPTests.Leongard);
                    ITestReport addictivereport     = new LTestReport(_human, addictivetestresult, _ge, _fe, true);
                    _reference = new LTestReference(addictivereport);
                }
                else
                {
                    MessageBox.Show("Для выбранной характеристики необходим тест Леонгарда \nОтметьте его галочной в списке тестов");
                }
                break;
            }
            return(_reference);
        }