예제 #1
0
        public void GetMultiResult()
        {
            _multiresult = new List <string>();

            if (_mark == 0)
            {
                _multiresult.Add("В анамнезе психопатологических признаков не выявлено.");
            }
            {
                _multiresult.Add("В анамнезе жизни установлено:");

                testsparam t = _ge.testsparams.First(tp => tp.idt == (int)EnumPTests.Modul2);
                t.answersparams.Load();

                for (int i = 0; i < _ans.Count; i++)
                {
                    answersparam a = t.answersparams.First(ap => ap.num == _ans[i]);
                    a.cellsparams.Load();
                    if (_answers[_ans[i] - 1].SelectedCellDescription.Trim() != "")
                    {
                        cellsparam selectedcell = a.cellsparams.First(cell => cell.description == _answers[_ans[i] - 1].SelectedCellDescription);

                        if (selectedcell.mark != 0)
                        {
                            _multiresult.Add(a.buttondescription + ": " + selectedcell.description);
                        }
                    }
                }
            }
        }
예제 #2
0
        private void btn_showchart_Click(object sender, EventArgs e)
        {
            List <int> _listidtr = new List <int>();

            foreach (DataGridViewRow r in dg_testresults.Rows)
            {
                if (Convert.ToBoolean(r.Cells[2].Value) == true)
                {
                    _listidtr.Add(Convert.ToInt16(r.Cells[0].Value));
                }
            }

            if (_listidtr.Count() != 0)
            {
                foreach (int i in _listidtr)
                {
                    testresult t  = _fe.testresults.First(tr => tr.idtr == i);
                    testsparam tp = _ge.testsparams.First(tt => tt.idt == t.testid);
                    if (t.mode == "auto")
                    {
                        TimeLineForm tlf = new TimeLineForm(t);
                        tlf.Text = "График скорости: " + tp.description + " от " + t.testdate;
                        tlf.Show();
                    }
                }
            }
        }
예제 #3
0
        public void GetMultiResult()
        {
            _multiresult = new List <string>();
            if (_sten == 0)
            {
                _multiresult.Add("Расстройств не выявлено.");
            }

            else
            {
                _multiresult.Add("Контрольные вопросы шкалы: ");

                testsparam t = _ge.testsparams.First(tp => tp.idt == (int)EnumPTests.Modul2);
                t.answersparams.Load();

                for (int i = 0; i < _ans.Count; i++)
                {
                    answersparam a = t.answersparams.First(ap => ap.num == _ans[i]);
                    a.cellsparams.Load();
                    if (_answers[_ans[i] - 1].SelectedCellDescription.Trim() != "")
                    {
                        cellsparam selectedcell = a.cellsparams.First(cell => cell.description == _answers[_ans[i] - 1].SelectedCellDescription);

                        if (selectedcell.mark != 0)
                        {
                            _multiresult.Add(a.buttondescription + ": " + selectedcell.description);
                        }
                    }
                }
            }
        }
예제 #4
0
        public void GetMultiResult()
        {
            _multiresult = new List <string>();

            if (_sten == 0)
            {
                _multiresult.Add("Расстройств не выявлено.");
            }
            else if (_sten == _ans.Count)
            {
                _multiresult.Add("Можно предположить, что расстройства преимущественно соответствуют диагностическим критериям рубрик  F20–29 по МКБ-10 «Шизотипические и бредовые расстройства».");
            }
            else
            {
                _multiresult.Add("Контрольные вопросы шкалы: ");

                testsparam t = _ge.testsparams.First(tp => tp.idt == (int)EnumPTests.Modul2);
                t.answersparams.Load();

                for (int i = 0; i < _ans.Count; i++)
                {
                    answersparam a = t.answersparams.First(ap => ap.num == _ans[i]);
                    a.cellsparams.Load();
                    if (_answers[_ans[i] - 1].SelectedCellDescription.Trim() != "")
                    {
                        cellsparam selectedcell = a.cellsparams.First(cell => cell.description == _answers[_ans[i] - 1].SelectedCellDescription);

                        if (selectedcell.mark != 0)
                        {
                            _multiresult.Add(a.buttondescription + ": " + selectedcell.description);
                        }
                    }
                }
            }
        }
예제 #5
0
        public void GetResult()
        {
            if (_mark != 0)
            {
                _result = "В анамнезе жизни установлено:";
                testsparam t = _ge.testsparams.First(tp => tp.idt == (int)EnumPTests.Modul2);
                t.answersparams.Load();

                for (int i = 0; i < _ans.Count; i++)
                {
                    answersparam a = t.answersparams.First(ap => ap.num == _ans[i]);
                    a.cellsparams.Load();
                    if (_answers[_ans[i] - 1].SelectedCellDescription.Trim() != "")
                    {
                        cellsparam selectedcell = a.cellsparams.First(cell => cell.description == _answers[_ans[i] - 1].SelectedCellDescription);

                        if (selectedcell.mark != 0)
                        {
                            _result += a.buttondescription + ": " + selectedcell.description;
                            if (i != _ans.Count - 1)
                            {
                                _result += ", ";
                            }
                        }
                    }
                }
            }
            else
            {
                _result = "В анамнезе психопатологических признаков не выявлено.";
            }
        }
예제 #6
0
        public void GetMultiResult()
        {
            _multiresult = new List <string>();

            if (_sten == 0)
            {
                _multiresult.Add("Расстройств не выявлено.");
            }
            else if (_sten == _ans.Count)
            {
                _multiresult.Add("Mожно говорить о соответствии диагностическим критериям рубрик F30-39 «Аффективные расстройства настроения» (группа В).");
            }
            else
            {
                _multiresult.Add("Контрольные вопросы шкалы: ");

                testsparam t = _ge.testsparams.First(tp => tp.idt == (int)EnumPTests.Modul2);
                t.answersparams.Load();

                for (int i = 0; i < _ans.Count; i++)
                {
                    answersparam a = t.answersparams.First(ap => ap.num == _ans[i]);
                    a.cellsparams.Load();
                    if (_answers[_ans[i] - 1].SelectedCellDescription.Trim() != "")
                    {
                        cellsparam selectedcell = a.cellsparams.First(cell => cell.description == _answers[_ans[i] - 1].SelectedCellDescription);

                        if (selectedcell.mark != 0)
                        {
                            _multiresult.Add(a.buttondescription + ": " + selectedcell.description);
                        }
                    }
                }
            }
        }
예제 #7
0
 private void TestResultForm_Load(object sender, EventArgs e)
 {
     answers_grid.btn_recog.Text   = "Сохранить в базу";
     answers_grid.btn_recog.Click += new EventHandler(btn_recog_Click);
     _testparam = _ge.testsparams.First(tp => tp.idt == _testresult.testid);
     this.Text  = "Просмотр: " + _testparam.description;
     this.FillAnswerGrid();
 }
예제 #8
0
        public void Start()
        {
            testsparam t = _ge.testsparams.First(tp => tp.idt == (int)EnumPTests.Modul2);

            t.answersparams.Load();
            _currentaparam       = t.answersparams.First(ap => ap.num == 1);
            _ktc.lb_caption.Text = _currentaparam.buttondescription;
            _currentaparam.cellsparams.Load();
            cellsparam c1 = _currentaparam.cellsparams.First(cp => cp.description.Trim() == "Да");

            _ktc.lb_1.Text = "1. " + c1.buttonsescription;
            cellsparam c2 = _currentaparam.cellsparams.First(cp => cp.description.Trim() == "Нет");

            _ktc.lb_2.Text = "2. " + c2.buttonsescription;
        }
예제 #9
0
        private void LoadHumans()
        {
            dg_humans.Rows.Clear();
            if (dg_humans.Columns.Count == 0)
            {
                SetGridStyle();
            }
            SearchParam p = new SearchParam(this.cb_fam, this.cb_tests, this.dp_begdate, this.dp_enddate);
            var         testresultsQuery = _fe.testresults.Where(p.Predicate, p.Parameters);

            foreach (testresult tst in testresultsQuery)
            {
                human      _human = _fe.humans.First(h => h.idh == tst.idh);
                testsparam _test  = _ge.testsparams.First(t => t.idt == tst.testid);
                dg_humans.Rows.Add(tst.idh, true, _test.description, tst.testdate, _human.secondname, _human.firstname, _human.birthday);
            }
        }
예제 #10
0
파일: TestAdd.cs 프로젝트: ondister/Recog
        private void button2_Click(object sender, EventArgs e)
        {
            pBaseEntities pb = new pBaseEntities();

            LData      md  = new LData();
            testsparam tst = pb.testsparams.First(t => t.idt == (int)EnumPTests.NPNA);

            tst.answersparams.Load();

            for (int a = 0; a < tst.answerscount; a++)
            {
                answersparam ap = answersparam.Createanswersparam(0, tst.idt, "Вопрос № " + (a + 1), 2);
                ap.num = a + 1;
                ap.buttondescription = md.answers[a].text;
                ap.intercellswidth   = 27;
                ap.cellshight        = 25;
                ap.cellswidth        = 25;
                ap.toplx             = 0;
                ap.toply             = 0;
                ap.toprx             = 0;
                ap.topry             = 0;
                ap.blx = 0;
                ap.bly = 0;
                ap.brx = 0;
                ap.bry = 0;

                cellsparam cp = cellsparam.Createcellsparam(0, ap.ida);
                cp.description       = "Да";
                cp.buttonsescription = "Да";
                cp.mark = 1;
                cellsparam cp1 = cellsparam.Createcellsparam(0, ap.ida);
                cp1.description       = "Нет";
                cp1.buttonsescription = "Нет";
                cp1.mark = 0;



                ap.cellsparams.Add(cp);
                ap.cellsparams.Add(cp1);

                tst.answersparams.Add(ap);
            }

            //  pb.testsparams.AddObject(tst);
            //  pb.SaveChanges();
        }
예제 #11
0
 public void Next()
 {
     if (_currentaparam.num != 88)
     {
         testsparam t = _ge.testsparams.First(tp => tp.idt == (int)EnumPTests.Leongard);
         t.answersparams.Load();
         _currentaparam       = t.answersparams.First(ap => ap.num == _currentaparam.num + 1);
         _ktc.lb_caption.Text = _currentaparam.buttondescription;
         _currentaparam.cellsparams.Load();
         cellsparam c1 = _currentaparam.cellsparams.First(cp => cp.description.Trim() == "Да");
         _ktc.lb_1.Text = "1. " + c1.buttonsescription;
         cellsparam c2 = _currentaparam.cellsparams.First(cp => cp.description.Trim() == "Нет");
         _ktc.lb_2.Text = "2. " + c2.buttonsescription;
     }
     else
     {
         this.Stop();
     }
 }
예제 #12
0
        public static int GetMark(pBaseEntities GlobalEntities, LAnswers LAnswers, List <int> AnswersYes, List <int> AnswersNo)
        {
            int m = 0;

            testsparam t = GlobalEntities.testsparams.First(tp => tp.idt == (int)EnumPTests.Leongard);

            t.answersparams.Load();


            for (int i = 0; i < AnswersYes.Count; i++)
            {
                answersparam a = t.answersparams.First(ap => ap.num == AnswersYes[i]);
                a.cellsparams.Load();
                if (LAnswers[(int)a.num - 1].SelectedCellDescription.Trim() != "")
                {
                    cellsparam c = a.cellsparams.First(cp => cp.description.Trim() == LAnswers[(int)a.num - 1].SelectedCellDescription.Trim());
                    if (c.mark == 1)
                    {
                        m++;
                    }
                }
            }

            for (int i = 0; i < AnswersNo.Count; i++)
            {
                answersparam a = t.answersparams.First(ap => ap.num == AnswersNo[i]);
                a.cellsparams.Load();
                if (LAnswers[(int)a.num - 1].SelectedCellDescription.Trim() != "")
                {
                    cellsparam c = a.cellsparams.First(cp => cp.description.Trim() == LAnswers[(int)a.num - 1].SelectedCellDescription.Trim());
                    if (c.mark == 0)
                    {
                        m++;
                    }
                }
            }



            return(m);
        }
예제 #13
0
        public static int GetMark(pBaseEntities GlobalEntities, MDAnswers mdAnswers, List <int> answers)
        {
            int m = 0;

            testsparam t = GlobalEntities.testsparams.First(tp => tp.idt == (int)EnumPTests.Modul2);

            t.answersparams.Load();

            for (int i = 0; i < answers.Count; i++)
            {
                answersparam a = t.answersparams.First(ap => ap.num == answers[i]);
                a.cellsparams.Load();
                if (mdAnswers[(int)a.num - 1].SelectedCellDescription.Trim() != "")
                {
                    cellsparam c = a.cellsparams.First(cp => cp.description.Trim() == mdAnswers[(int)a.num - 1].SelectedCellDescription.Trim());
                    m += (int)c.mark;
                }
            }

            return(m);
        }
예제 #14
0
        public void GetSten()
        {
            testsparam t = _ge.testsparams.First(tp => tp.idt == (int)EnumPTests.Modul2);

            t.answersparams.Load();

            for (int i = 0; i < _ans.Count; i++)
            {
                answersparam a = t.answersparams.First(ap => ap.num == _ans[i]);
                a.cellsparams.Load();
                if (_answers[_ans[i] - 1].SelectedCellDescription.Trim() != "")
                {
                    cellsparam selectedcell = a.cellsparams.First(cell => cell.description == _answers[_ans[i] - 1].SelectedCellDescription);

                    if (selectedcell.mark != 0)
                    {
                        _sten++;
                    }
                }
            }
        }
예제 #15
0
파일: RForm.cs 프로젝트: ondister/Recog
        private void RecogForm_Load(object sender, EventArgs e)
        {
            answs = new Answers();
            testsparam t = _ge.testsparams.First(tp => tp.idt == _testid);

            t.answersparams.Load();
            foreach (answersparam ap in t.answersparams)
            {
                Answer aga = new Answer();
                aga.Id = ap.num.Value;
                ap.cellsparams.Load();
                foreach (cellsparam cp in ap.cellsparams)
                {
                    Cell c = new Cell();
                    c.ContentDescription = cp.description.Trim();
                    aga.Cells.Add(c);
                }
                answs.Add(aga);
            }
            human h = _fe.humans.First(hh => hh.idh == _humanid);

            this.Text = "Распознавание бланка: " + t.description + " для " + h.secondname + " " + h.firstname;
        }
예제 #16
0
        public void GetResult()
        {
            if (_sten == 0)
            {
                _result = "Расстройств не выявлено.";
            }
            else if (_sten == _ans.Count)
            {
                _result = "Можно говорить о соответствии диагностическим критериям рубрике F40.2 «Изолированные фобии»";
            }
            else
            {
                _result += " Контрольные вопросы шкалы: ";

                testsparam t = _ge.testsparams.First(tp => tp.idt == (int)EnumPTests.Modul2);
                t.answersparams.Load();

                for (int i = 0; i < _ans.Count; i++)
                {
                    answersparam a = t.answersparams.First(ap => ap.num == _ans[i]);
                    a.cellsparams.Load();
                    if (_answers[_ans[i] - 1].SelectedCellDescription.Trim() != "")
                    {
                        cellsparam selectedcell = a.cellsparams.First(cell => cell.description == _answers[_ans[i] - 1].SelectedCellDescription);

                        if (selectedcell.mark != 0)
                        {
                            _result += a.buttondescription + ": " + selectedcell.description;
                            if (i != _ans.Count - 1)
                            {
                                _result += ", ";
                            }
                        }
                    }
                }
            }
        }
예제 #17
0
        public void Prerecognize()
        {
            try
            {
                _canvas = new Canvas((Bitmap)_image.Clone(), 8.0d);
                _canvas.RecognizeImage();

                testsparam t = _ge.testsparams.First(tp => tp.idt == _testid);

                t.answersparams.Load();
                IEnumerable <answersparam> answers = t.answersparams.Where(a => a.idt == t.idt);
                foreach (answersparam a in answers)
                {
                    Distances _distances = new Distances();
                    _distances.Add(_canvas.TopLeftMarker, (double)a.toplx, (double)a.toply);
                    _distances.Add(_canvas.TopRightMarker, (double)a.toprx, (double)a.topry);
                    _distances.Add(_canvas.BottomLeftMarker, (double)a.blx, (double)a.bly);
                    _distances.Add(_canvas.BottomRightMarker, (double)a.brx, (double)a.bry);

                    Answer _answer = new Answer(_canvas.CorrectedImage, (int)a.num, (int)a.cellscount, _distances, (int)a.intercellswidth, (int)a.cellswidth, (int)a.cellshight);

                    IEnumerable <cellsparam> cells = a.cellsparams.Where(c => c.ida == a.ida);
                    a.cellsparams.Load();
                    int i = 0;
                    foreach (cellsparam cp in cells)
                    {
                        _answer.Cells[i].ContentDescription = cp.description.Trim();
                        i++;
                    }

                    _canvas.Answers.Add(_answer);
                }
                OnRecItem();
            }
            catch (Exception ex) { throw ex; }
        }
예제 #18
0
파일: TestAdd.cs 프로젝트: ondister/Recog
        private void cmd_addtest_Click(object sender, EventArgs e)
        {
            this.lst_answ.Items.Clear();
            _canvas = new Canvas((Bitmap)this.pb_img.Image, 8d);
            _canvas.RecognizeImage();
            this.pb_img.Image = _canvas.CorrectedImage;

            //KetelData td = new KetelData();
            pBaseEntities pb = new pBaseEntities();

            // modulData md = new modulData();
            // testsparam tst =  testsparam.Createtestsparam(0, "ОПРОСНИК МОДУЛЬ", 200, true);
            // for (int a = 0; a < tst.answerscount; a++)
            // {
            //     answersparam ap = answersparam.Createanswersparam(0, tst.idt, "Вопрос № " + (a + 1), 2);
            //     ap.num = a + 1;
            //     ap.buttondescription = md.answers[a].text;
            //     ap.intercellswidth = 27;
            //     ap.cellshight = 25;
            //     ap.cellswidth = 25;
            //     ap.toplx = 0;
            //     ap.toply = 0;
            //     ap.toprx = 0;
            //     ap.topry = 0;
            //     ap.blx = 0;
            //     ap.bly = 0;
            //     ap.brx = 0;
            //     ap.bry = 0;

            //     cellsparam cp = cellsparam.Createcellsparam(0, ap.ida);
            //     cp.description = "Да";
            //     cp.buttonsescription = "Да";
            //     cp.mark = md.answers[a].isYes?md.answers[a].mark:0;
            //     cellsparam cp1 = cellsparam.Createcellsparam(0, ap.ida);
            //     cp1.description = "Нет";
            //     cp1.buttonsescription = "Нет";
            //     cp1.mark = md.answers[a].isYes ? 0 : md.answers[a].mark;



            //     ap.cellsparams.Add(cp);
            //     ap.cellsparams.Add(cp1);

            //     tst.answersparams.Add(ap);


            // }

            //pb.testsparams.AddObject(tst);
            // pb.SaveChanges();



            testsparam t = pb.testsparams.First(tp => tp.idt == (int)EnumPTests.NPNA);

            t.answersparams.Load();
            IEnumerable <answersparam> answers = t.answersparams;

            foreach (answersparam ap in answers)
            {
                ListViewItem it = new ListViewItem(ap.num.ToString());
                it.SubItems.Add(ap.ida.ToString());
                it.SubItems.Add(ap.description.ToString());
                it.SubItems.Add(ap.intercellswidth.ToString());
                it.SubItems.Add(ap.cellswidth.ToString());
                it.SubItems.Add(ap.cellshight.ToString());
                it.SubItems.Add(ap.toplx.ToString());
                it.SubItems.Add(ap.toply.ToString());
                this.lst_answ.Items.Add(it);
                //добавляем вопросы на грид
                //создаем коллекцию дистанций для каждого ответа

                Distances _distances = new Distances();
                _distances.Add(_canvas.TopLeftMarker, (double)ap.toplx, (double)ap.toply);
                _distances.Add(_canvas.TopRightMarker, (double)ap.toprx, (double)ap.topry);
                _distances.Add(_canvas.BottomLeftMarker, (double)ap.blx, (double)ap.bly);
                _distances.Add(_canvas.BottomRightMarker, (double)ap.brx, (double)ap.bry);

                //_distances.Add(_canvas.TopLeftMarker, 100, 100);
                //_distances.Add(_canvas.TopRightMarker, 100, 100);
                //_distances.Add(_canvas.BottomLeftMarker, 100, 100);
                //_distances.Add(_canvas.BottomRightMarker, 100, 100);


                //создаем ответы
                Answer _answer = new Answer(_canvas.CorrectedImage, (int)ap.ida, (int)ap.cellscount, _distances, (int)ap.intercellswidth, (int)ap.cellswidth, (int)ap.cellshight);
                _answer.Select();
                _canvas.Answers.Add(_answer);
            }
        }
예제 #19
0
파일: StenForm.cs 프로젝트: ondister/Recog
        private void Loading()
        {
            _tp = _ge.testsparams.First(t => t.idt == _testid);
            switch (_testid)
            {
            case (int)EnumPTests.KettellC:    //TODO:это все поместить в фабрику отчетов с функцие добавления пустых ответов
                //create fool kettellanswers
                KettellAnswers ka = new KettellAnswers();
                for (int a = 0; a < 104; a++)
                {
                    ka.Add(0, "", "", a, "");
                }
                XmlSerializer mySerializer = new XmlSerializer(typeof(KettellAnswers));
                StringWriter  myWriter     = new StringWriter();
                mySerializer.Serialize(myWriter, ka);
                _human = _fe.humans.First(h => h.idh == _humanid);
                KettellCTestReport kcr = new KettellCTestReport(_human, testresult.Createtestresult(0, _humanid, DateTime.Now, (int)EnumPTests.KettellC, myWriter.ToString(), "manual"), _ge, _fe, true);
                for (int i = 0; i < kcr.ListScales.Count(); i++)
                {
                    ScaleControl sc = new ScaleControl();
                    this.flp_parent.Controls.Add(sc);
                    sc.ControlScale = kcr.ListScales[i];
                }
                break;

            case (int)EnumPTests.PNN:
                PNNAnswers pa = new PNNAnswers();
                for (int a = 0; a < 104; a++)
                {
                    pa.Add(PnnSignalType.Green, PnnKeyType.AnyKey, DateTime.Now, 0);
                }
                XmlSerializer mySerializerp = new XmlSerializer(typeof(PNNAnswers));
                StringWriter  myWriterp     = new StringWriter();
                mySerializerp.Serialize(myWriterp, pa);
                _human = _fe.humans.First(h => h.idh == _humanid);
                PNNTestReport pnr = new PNNTestReport(_human, testresult.Createtestresult(0, _humanid, DateTime.Now, (int)EnumPTests.PNN, myWriterp.ToString(), "manual"), _ge, _fe);
                for (int i = 0; i < pnr.ListScales.Count(); i++)
                {
                    ScaleControl sc = new ScaleControl();
                    this.flp_parent.Controls.Add(sc);
                    sc.ControlScale = pnr.ListScales[i];
                }
                break;

            case (int)EnumPTests.Adaptability:
                DAnswers kd = new DAnswers();
                for (int a = 0; a < 165; a++)
                {
                    kd.Add(0, "", "", a, "");
                }
                XmlSerializer mySerializerd = new XmlSerializer(typeof(DAnswers));
                StringWriter  myWriterd     = new StringWriter();
                mySerializerd.Serialize(myWriterd, kd);
                _human = _fe.humans.First(h => h.idh == _humanid);
                DTestReport kdr = new DTestReport(_human, testresult.Createtestresult(0, _humanid, DateTime.Now, (int)EnumPTests.Adaptability, myWriterd.ToString(), "manual"), _ge, _fe, true);
                for (int i = 0; i < kdr.ListScales.Count(); i++)
                {
                    ScaleControl sc = new ScaleControl();
                    this.flp_parent.Controls.Add(sc);
                    sc.ControlScale = kdr.ListScales[i];
                }
                break;

            case (int)EnumPTests.FPI:
                FPIAnswers kfpi = new FPIAnswers();
                for (int a = 0; a < 114; a++)
                {
                    kfpi.Add(0, "", "", a, "");
                }
                XmlSerializer mySerializerfpi = new XmlSerializer(typeof(FPIAnswers));
                StringWriter  myWriterfpi     = new StringWriter();
                mySerializerfpi.Serialize(myWriterfpi, kfpi);
                _human = _fe.humans.First(h => h.idh == _humanid);
                FPITestReport kfr = new FPITestReport(_human, testresult.Createtestresult(0, _humanid, DateTime.Now, (int)EnumPTests.FPI, myWriterfpi.ToString(), "manual"), _ge, _fe, true);
                for (int i = 0; i < kfr.ListScales.Count(); i++)
                {
                    ScaleControl sc = new ScaleControl();
                    this.flp_parent.Controls.Add(sc);
                    sc.ControlScale = kfr.ListScales[i];
                }
                break;

            case (int)EnumPTests.KettellA:
                KettellAnswers kaa = new KettellAnswers();
                for (int a = 0; a < 185; a++)
                {
                    kaa.Add(0, "", "", a, "");
                }
                XmlSerializer mySerializera = new XmlSerializer(typeof(KettellAnswers));
                StringWriter  myWritera     = new StringWriter();
                mySerializera.Serialize(myWritera, kaa);
                _human = _fe.humans.First(h => h.idh == _humanid);
                KettellATestReport kar = new KettellATestReport(_human, testresult.Createtestresult(0, _humanid, DateTime.Now, (int)EnumPTests.KettellA, myWritera.ToString(), "manual"), _ge, _fe, true);
                for (int i = 0; i < kar.ListScales.Count(); i++)
                {
                    ScaleControl sc = new ScaleControl();
                    this.flp_parent.Controls.Add(sc);
                    sc.ControlScale = kar.ListScales[i];
                }
                break;

            case (int)EnumPTests.Contrasts:
                ContrastsAnswers mkd = new ContrastsAnswers();
                for (int a = 0; a < 6; a++)
                {
                    mkd.Add(DateTime.Now, 0);
                }
                XmlSerializer mySerializermd = new XmlSerializer(typeof(ContrastsAnswers));
                StringWriter  myWritermd     = new StringWriter();
                mySerializermd.Serialize(myWritermd, mkd);
                _human = _fe.humans.First(h => h.idh == _humanid);
                ContrastsTestReport mkdr = new ContrastsTestReport(_human, testresult.Createtestresult(0, _humanid, DateTime.Now, (int)EnumPTests.Contrasts, myWritermd.ToString(), "manual"), _ge, _fe);
                for (int i = 0; i < mkdr.ListScales.Count(); i++)
                {
                    ScaleControl sc = new ScaleControl();
                    this.flp_parent.Controls.Add(sc);
                    sc.ControlScale = mkdr.ListScales[i];
                }
                break;

            case (int)EnumPTests.Prognoz:
                PAnswers paa = new PAnswers();
                for (int a = 0; a < 86; a++)
                {
                    paa.Add(0, "", "", a, "");
                }
                XmlSerializer mySerializerpr = new XmlSerializer(typeof(PAnswers));
                StringWriter  myWriterpr     = new StringWriter();
                mySerializerpr.Serialize(myWriterpr, paa);
                _human = _fe.humans.First(h => h.idh == _humanid);
                PTestReport par = new PTestReport(_human, testresult.Createtestresult(0, _humanid, DateTime.Now, (int)EnumPTests.Prognoz, myWriterpr.ToString(), "manual"), _ge, _fe, true);
                for (int i = 0; i < par.ListScales.Count(); i++)
                {
                    ScaleControl sc = new ScaleControl();
                    this.flp_parent.Controls.Add(sc);
                    sc.ControlScale = par.ListScales[i];
                }
                break;

            case (int)EnumPTests.Addictive:
                AAnswers aaa = new AAnswers();
                for (int a = 0; a < 30; a++)
                {
                    aaa.Add(0, "", "", a, "");
                }
                XmlSerializer mySerializeraa = new XmlSerializer(typeof(AAnswers));
                StringWriter  myWriteraa     = new StringWriter();
                mySerializeraa.Serialize(myWriteraa, aaa);
                _human = _fe.humans.First(h => h.idh == _humanid);
                ATestReport aar = new ATestReport(_human, testresult.Createtestresult(0, _humanid, DateTime.Now, (int)EnumPTests.Addictive, myWriteraa.ToString(), "manual"), _ge, _fe, true);
                for (int i = 0; i < aar.ListScales.Count(); i++)
                {
                    ScaleControl sc = new ScaleControl();
                    this.flp_parent.Controls.Add(sc);
                    sc.ControlScale = aar.ListScales[i];
                }
                break;

            case (int)EnumPTests.NPNA:
                NPNAnswers npn = new NPNAnswers();
                for (int a = 0; a < 276; a++)
                {
                    npn.Add(0, "", "", a, "");
                }
                XmlSerializer mySerializernpn = new XmlSerializer(typeof(NPNAnswers));
                StringWriter  myWriternpn     = new StringWriter();
                mySerializernpn.Serialize(myWriternpn, npn);
                _human = _fe.humans.First(h => h.idh == _humanid);
                NPNTestReport npnr = new NPNTestReport(_human, testresult.Createtestresult(0, _humanid, DateTime.Now, (int)EnumPTests.NPNA, myWriternpn.ToString(), "manual"), _ge, _fe, true);
                for (int i = 0; i < npnr.ListScales.Count(); i++)
                {
                    ScaleControl sc = new ScaleControl();
                    this.flp_parent.Controls.Add(sc);
                    sc.ControlScale = npnr.ListScales[i];
                }
                break;

            case (int)EnumPTests.Leongard:
                LAnswers lpn = new LAnswers();
                for (int a = 0; a < 88; a++)
                {
                    lpn.Add(0, "", "", a, "");
                }
                XmlSerializer mySerializerlpn = new XmlSerializer(typeof(LAnswers));
                StringWriter  myWriterlpn     = new StringWriter();
                mySerializerlpn.Serialize(myWriterlpn, lpn);
                _human = _fe.humans.First(h => h.idh == _humanid);
                LTestReport lpnr = new LTestReport(_human, testresult.Createtestresult(0, _humanid, DateTime.Now, (int)EnumPTests.Leongard, myWriterlpn.ToString(), "manual"), _ge, _fe, true);
                for (int i = 0; i < lpnr.ListScales.Count(); i++)
                {
                    ScaleControl sc = new ScaleControl();
                    this.flp_parent.Controls.Add(sc);
                    sc.ControlScale = lpnr.ListScales[i];
                }
                break;
            }
        }
예제 #20
0
파일: TestAdd.cs 프로젝트: ondister/Recog
        private void button1_Click(object sender, EventArgs e)
        {
            // это необходимо менять
            double startx       = 58.8;
            double starty       = 197;
            int    rowscount    = 31;
            int    colscount    = 9;
            double colsinterval = 86.6;
            double rowsinterval = 27.5;
            //


            pBaseEntities pb = new pBaseEntities();
            testsparam    t  = pb.testsparams.First(tp => tp.idt == (int)EnumPTests.NPNA);

            t.answersparams.Load();

            int    curransverindex = 0;
            double x = startx;

            for (int col = 0; col < colscount; col++)
            {
                double y = starty;

                for (int row = 0; row < rowscount; row++)
                {
                    if (curransverindex <= t.answerscount - 1)
                    {
                        Distances _distances = new Distances();
                        _distances.Add(_canvas.TopLeftMarker, (int)x, (int)y);
                        _distances.Add(_canvas.TopRightMarker, (int)x, (int)y);
                        _distances.Add(_canvas.BottomLeftMarker, (int)x, (int)y);
                        _distances.Add(_canvas.BottomRightMarker, (int)x, (int)y);

                        _canvas.Answers[curransverindex].Clear();
                        _canvas.Answers[curransverindex].Cells.ReMeasure(_distances, _canvas.Answers[curransverindex].InterCentresDistX, _canvas.Answers[curransverindex].CellsWidth, _canvas.Answers[curransverindex].CellsHeight);
                        _canvas.Answers[curransverindex].Select();
                        pb_img.Refresh();

                        //это комментить при подгонке
                        answersparam a = t.answersparams.First(ap => ap.num == curransverindex + 1);


                        a.toplx = (int)_distances[0].OnX;
                        a.toply = (int)_distances[0].OnY;

                        a.toprx = (int)_distances[1].OnX;
                        a.topry = (int)_distances[1].OnY;

                        a.blx = (int)_distances[2].OnX;
                        a.bly = (int)_distances[2].OnY;

                        a.brx = (int)_distances[3].OnX;
                        a.bry = (int)_distances[3].OnY;

                        pb.SaveChanges();



                        y += rowsinterval;

                        curransverindex++;
                    }
                }
                x += colsinterval;
            }
        }