protected void BT_Update_Click(object sender, EventArgs e)
        {
            try{
                Question question = this.ifPrincipal.getQuestion();
                new TimeEvent(question, this.BT_Update.Text, access.process);

                IMethod method = this.updateMethod();
                method.sendRerefence(this.methodManager); //Enviando a referência do FirstElicitationPanel para o método;
                //this.methodManager.addNewReference(method); //

                if (method != null)
                {
                    this.ifPrincipal.addNewIteraction(method);
                }
            }catch (Exception ex) {
                ifPrincipal.DisplayMessage(ex.Message, true);
                //MessageBox.Show(ex.Message+"\n"+ex.StackTrace);
            }
        }
Beispiel #2
0
        private void BT_Avançar_Click(object sender, EventArgs e)
        {
            new TimeEvent(this.ifPrincipal.getQuestion(), TimeEvent.EventType.LEAVE_FIRST_PANEL_OF_ELICITATION, access.process);
            ElicitationParameters par = new ElicitationParameters();

            try {
                par.min     = Convert.ToDouble(TB_ValorMinimo.Text);
                par.max     = Convert.ToDouble(TB_ValorMaximo.Text);
                par.rootMin = par.min;
                par.rootMax = par.max;
                k           = int.Parse(TB_Intervals.Text);
                par.k       = k;
                if (par.min < par.max)
                {
                    verificar = true;
                }
                else
                {
                    ifPrincipal.DisplayMessage(DefaultConfig.ST_TXT_VALUES_IRREGULARS_MINMAX, true);
                    verificar = false;
                }
            } catch {
                throw new Exception(DefaultConfig.ST_TXT_VALUES_TYPE_WROTE);
            }
            try {
                if (verificar == true)
                {
                    par.index  = -1;
                    par.center = (par.min + par.max) / 2;

                    if (elicitationMethod == ElicitationMethod.Direto)
                    {
                        double   intervalSize = (par.max - par.min) / k;
                        double[] x            = new double[k + 1]; //grid
                        double[] W            = new double[k + 1]; //credibilities
                        x[0] = par.min; x[k] = par.max;
                        W[0] = 0; W[k] = (1.0 / k);                //W[0] equal Fx[0], W[1] is the credibility assigned to the first interval, and so on
                        for (int i = 1; i < k; i++)
                        {
                            x[i] = x[i - 1] + intervalSize;
                            W[i] = (1.0 / k);
                        }
                        par.W = W;
                        par.x = x;

                        currentMethod = (IMethod) new Direto2(par, this.ifPrincipal);
                    }
                    else if (elicitationMethod == ElicitationMethod.Bissecao)
                    {
                        par.x         = new double[] { par.min, par.max };
                        currentMethod = (IMethod) new Bisection(par, this.ifPrincipal);
                    }
                    else if (elicitationMethod == ElicitationMethod.Firmino)
                    {
                        currentMethod = (IMethod) new Firmino(par, this.ifPrincipal);
                    }
                    currentMethod.sendRerefence(this);

                    this.ifPrincipal.addNewIteraction(currentMethod); //Mostra na tela os campos para por os intervalos.
                }
            } catch (Exception exc) {
                ifPrincipal.DisplayMessage(exc.StackTrace, true);
            }
        }
Beispiel #3
0
        private void BT_Avançar_Click(object sender, EventArgs e)
        {
            new TimeEvent(this.ifPrincipal.getQuestion(), TimeEvent.EventType.LEAVE_FIRST_PANEL_OF_ELICITATION, access.process);
            ifPrincipal.getWatch().Stop();
            this.timeComsumption = ifPrincipal.getWatch().ElapsedMilliseconds;
            ifPrincipal.getWatch().Reset();
            ElicitationParameters p = new ElicitationParameters();

            try
            {
                p.max = Convert.ToDouble(TB_ValorMaximo.Text);
                p.min = Convert.ToDouble(TB_ValorMinimo.Text);
                if (p.min < p.max || p.min == p.max)
                {
                    verificar = true;
                }
                else
                {
                    ifPrincipal.DisplayMessage(DefaultConfig.ST_TXT_VALUES_IRREGULARS_MINMAX, true);
                }
            }
            catch
            {
                ifPrincipal.DisplayMessage(DefaultConfig.ST_TXT_VALUES_TYPE_WROTE, true);
            }

            if (verificar == true)
            {
                Firmino   firmino;
                Bisection bisection;
                Panel     panel1 = null;

                string resposta = TB_ValorMinimo.Text + ';' + TB_ValorMaximo.Text;

                p.center = (p.max + p.min) / 2;
                p.index  = -1;
                p.times.Add(timeComsumption / 1000);
                p.answers.Add(resposta);
                p.creds.Add(0.0);//Passando credibilidade nula para não construir outra condicional no momento do back
                //statistics.Add(0);//passando estatistica nula para não desagrupar as respostas e estatisticas
                p.statistics.AddRange(new double[4] {
                    0, 0, 0, 0
                });
                p.W = new double[2] {
                    0, 0
                };

                if (this.METHOD.Equals(Engine.EngineInterface.FIRMINO))
                {
                    //firmino = new Firmino("", p.min, p.center, p.max, 1, -1, 0, p.times,
                    //    p.answers, p.statistics, p.creds, this.ifPrincipal);
                    firmino = new Firmino(p, this.ifPrincipal);
                    //Cria o objeto firmino chamando a classe Firmino. Here thexpert has chose [min, max] with credib=1.0
                    //firmino.ReceberReferenciadoFrom0(this);//Metodo que faz com que seja possivel o form0 chamar ele proprio
                    panel1        = firmino.panel1;
                    currentMethod = (IMethod)firmino;
                }
                else if (this.METHOD.Equals(Engine.EngineInterface.BISECTION))
                {
                    bisection = new Bisection(p, this.ifPrincipal);
                    //bisection = new Bisection("", p.min, p.center, p.max, 1, -1, 0, p.times,
                    //    p.answers, p.statistics, this.ifPrincipal);//Cria o objeto firmino chamando a classe Firmino. Here thexpert has chose [min, max] with credib=1.0
                    //bisection.ReceberReferenciadoFrom0(this);//Metodo que faz com que seja possivel o form0 chamar ele proprio
                    //panel1 = bisection.mainPanel;
                    currentMethod = (IMethod)bisection;
                }

                this.ifPrincipal.addNewIteraction(currentMethod);
            }
        }
Beispiel #4
0
        private void BT_access_Click(object sender, EventArgs e)
        {
            if (CB_AreaAtuacao.Text != "" && CB_intimityMath.Text != "" && CB_intimityUncertain.Text != "" && CB_email.Text != "")
            {
                access.expert = access.getExpert(CB_email.Text);
                try{
                    if (access.expert != null)
                    {
                        access.expert.isNew = false;
                    }
                    else
                    {
                        List <TBCursos> tbCucrsoList = new List <TBCursos>();
                        tbCucrsoList.Add(tbCursosTecnico);
                        tbCucrsoList.Add(tbCursosGraduação);
                        tbCucrsoList.Add(tbCursosEspecialidade);
                        tbCucrsoList.Add(tbCursosMestrado);
                        tbCucrsoList.Add(tbCursosDoutorado);

                        access.expert = new Expert(CB_email.Text);
                        access.expert.expertiseField      = CB_AreaAtuacao.Text;
                        access.expert.intimityMath        = int.Parse(CB_intimityMath.Text);
                        access.expert.intimityUncertainty = Convert.ToInt16(CB_intimityUncertain.Text);
                        access.expert.isNew = true;

                        for (int i = 0; i < 2; i++)
                        {
                            TabPage   tp        = CB_concluido_mestrado.TabPages[i];
                            Titration titration = new Titration(access.expert);
                            titration.titulacao     = tp.Text;
                            titration.especialidade = ((RBPublicPrivate)tp.Controls[0]).returnDecision();
                            access.dbTitrations.Add(titration);
                        }
                        int k = 0;
                        for (int i = 2; i < 7; i++) //adiciona os valores da lista de combobox no segundo for
                        {
                            TabPage  tp  = CB_concluido_mestrado.TabPages[i];
                            TBCursos tbc = tbCucrsoList[i - 2];
                            ComboBox cb  = tbc.returnCombo();

                            for (int j = 0; j < cb.Items.Count; j++)
                            {
                                Titration titration = new Titration(access.expert);
                                titration.titulacao = tp.Text;
                                string[] splitCurso = cb.Items[j].ToString().Split(new char[] { ';' });
                                titration.especialidade = splitCurso[0];
                                if (splitCurso[1] == "False")
                                {
                                    titration.concluido = "0";
                                }
                                access.dbTitrations.Add(titration);
                            }
                            k++;
                        }
                    }

                    int
                        trainingMethodId    = int.Parse(((ComboBoxItem)CB_MetodoTreinamento.Items[CB_MetodoTreinamento.SelectedIndex]).Value),
                        elicitationMethodId = int.Parse(((ComboBoxItem)CB_MetodoEducao.Items[CB_MetodoEducao.SelectedIndex]).Value);

                    string
                        trainingMethodName    = CB_MetodoTreinamento.Text,
                        elicitationMethodName = CB_MetodoEducao.Text;

                    Method
                        trainingMethod    = new Method(trainingMethodId),
                        elicitationMethod = new Method(elicitationMethodId);

                    access.project         = access.getProject(CB_project.Text);
                    access.analyst         = access.getAnalyst(CB_analista.Text);
                    access.process         = new Process(access.expert, access.project, trainingMethod, elicitationMethod);
                    access.process.analyst = access.analyst;
                }
                catch (Exception exc)
                {
                    iformPrincipal.DisplayMessage(exc.StackTrace, true);
                }

                access.project.addExpert(access.expert);
                new TimeEvent(null, TimeEvent.EventType.ACCESS_EXPERT, access.process);
                this.iformPrincipal.startMethod(this.access.process);
                this.Close();
                //ActiveForm.Close();

                /*//codigo paleativo para pegar o id dos metodos sem criar função no interfacebanco
                 * if (cb_metodoeducao.text == "firmino") idmetodoeducao = 1;
                 * if (cb_metodoeducao.text == "direto") idmetodoeducao = 2;
                 * if (cb_metodoeducao.text == "bisseção") idmetodoeducao = 3;
                 * if (cb_metodotreinamento.text == "firmino") idmetodotreinamento = 1;
                 * if (cb_metodotreinamento.text == "direto") idmetodotreinamento = 2;
                 * if (cb_metodotreinamento.text == "bisseção") idmetodotreinamento = 3;*/
                //

                /*//if(CB_AreaAtuacao.Text != "" && CB_intimityMath.Text != "" && CB_intimityUncertain.Text != "" && CB_email.Text != ""){
                 * //    InterfaceBanco banco =  InterfaceBanco.getInstance();
                 * //    banco.InserirEspecialsita(Convert.ToInt16(CB_intimityMath.Text),
                 * //        Convert.ToInt16(CB_intimityUncertain.Text),
                 * //        CB_AreaAtuacao.Text,CB_email.Text,CB_analista.Text,idMetodoTreinamento,idMetodoEducao);
                 *
                 * //    //for (int i = 0; i < titulacao.Count; i++)
                 * //    //{
                 * //    //    banco.InserirTitulação(titulacao[i],especialidade[i]);
                 * //    //}
                 * }*/

                /*else
                 * {
                 *  iformPrincipal.DisplayMessage(DefaultConfig.ST_TXT_ALL_FIELDS_FILL, true);
                 * }
                 *
                 * this.iformPrincipal.configurarProcesso((ElicitationMethod)idMetodoTreinamento - 1, (ElicitationMethod)idMetodoEducao - 1);
                 *
                 * ActiveForm.Close();*/
            }
            else
            {
                MessageBox.Show(DefaultConfig.ST_TXT_ALL_FIELDS_FILL, "Informações incompletas!");
            }
        }
Beispiel #5
0
        private void BT_OK_Click(object sender, EventArgs e)
        {
            if (TB_Pergunta.Text != "" && TB_RespostaCerta.Text != "")
            {
                if (CB_ConhecimentoMatematico.Checked)
                {
                    conhecimentoMatematico = 1;
                }
                if (CB_Ancoragem.Checked)
                {
                    ancoragem = 1;
                }
                if (CB_Representatividade.Checked)
                {
                    representatividade = 1;
                }
                if (CB_AutoConfianca.Checked)
                {
                    autoconfianca = 1;
                }
                if (CB_Disponibilidade.Checked)
                {
                    disponibilidade = 1;
                }
                if (CB_CalibraFirnimo.Checked)
                {
                    calibraFirmino = 1;
                }
                if (CB_CalibraDireto.Checked)
                {
                    calibraDireto = 1;
                }
                if (CB_CalibraBissecao.Checked)
                {
                    calibraBissecao = 1;
                }
                if (CB_AplicaFirmino.Checked)
                {
                    aplicaFirmino = 1;
                }
                if (CB_AplicaDireto.Checked)
                {
                    aplicaDireto = 1;
                }
                if (CB_AplicaBisseção.Checked)
                {
                    aplicaBissecao = 1;
                }
                if (CB_AplicaScoringRules.Checked)
                {
                    aplicaScoringRules = 1;
                }
                if (CB_AplicaScoringRules.Checked)
                {
                    aplicaScoringRules = 1;
                }
                if (CB_SerahUsada.Checked)
                {
                    serahUsada = 1;
                }
                if (CB_VariavelNominal.Checked)
                {
                    variavelNominal = 1;
                }
                caminhoImagem = TB_CaminhoImagem.Text;
                pergunta      = TB_Pergunta.Text;
                respostaCerta = TB_RespostaCerta.Text;
                distribuicao  = CB_Distribuicao.Text;
                comentarios   = RTB_Comentarios.Text;

                InterfaceBanco banco = InterfaceBanco.getInstance();
                banco.inserirPergunta(pergunta, respostaCerta, conhecimentoMatematico,
                                      ancoragem, representatividade, autoconfianca, disponibilidade, calibraFirmino,
                                      calibraDireto, calibraBissecao, aplicaFirmino, aplicaDireto, aplicaBissecao,
                                      aplicaScoringRules, serahUsada, distribuicao, caminhoImagem, variavelNominal, comentarios);

                string q2 = TB_Alterantivas.Text;
                alternativas = q2.Split(new char[] { ';' });
                banco.inserirAlternativas(alternativas);
                banco.inseriProjetoPergunta(CB_ProjetoVinculado.Text);
                ActiveForm.Close();
            }
            else
            {
                ifPrincipal.DisplayMessage(DefaultConfig.ST_TXT_FILL_ALL_FIELDS_QUESTIONS, true);
            }
        }