예제 #1
0
        WizardPage FillPage(Form_Query query)
        {
            WizardPage page = new WizardPage();

            page.Tag     = query;
            page.Text    = query.Query;
            page.Commit += wizardPage_Commit;
            page.Controls.Add(AddAnswerToPanel(query.Id_Query));

            return(page);
        }
        public Form_Query GetNextQuery(int idvisit, int idquery)
        {
            Form_Query formquery = new Form_Query();
            int        nextquery = GetNextQueryId(idvisit, idquery);

            if (nextquery > 0)
            {
                formquery = GetQuery(nextquery);
            }
            return(formquery);
        }
예제 #3
0
        void wizardPage_Commit(object sender, AeroWizard.WizardPageConfirmEventArgs e)
        {
            // If the user hasn't provided a sufficiently long zip code, don't allow the commit
            DBMethods db             = new DBMethods();
            int       forms_visit_id = 0;

            #region Save_results
            Forms forms = db.GetFormsById(271);
            forms_visit_id = db.SetFormVisit(forms.Id_Form);

            FlowLayoutPanel flpanel = (FlowLayoutPanel)e.Page.Controls[FlowPanelName];
            RadioButton     rb      = new RadioButton();
            foreach (Control cntrl in flpanel.Controls)
            {
                rb = (RadioButton)cntrl;

                if (rb.Checked == true)
                {
                    db.SetFormAnsAbo(new Form_Ans_Abo()
                    {
                        Id_Query = ((Form_Ans)rb.Tag).Id_Query, Id_Ans = ((Form_Ans)rb.Tag).Id_Ans, Id_Visit = forms_visit_id
                    });
                    break;
                }
            }
            #endregion

            #region GetNext
            Form_Query form_query = db.GetNextQuery(forms_visit_id, ((Form_Ans)rb.Tag).Id_Query);
            if (form_query.Num_Query != 0)
            {
                e.Page.NextPage = wizardControl.Pages.Find(delegate(WizardPage pg) { return(((Form_Query)pg.Tag).Id_Query == form_query.Id_Query); });
            }
            else
            {
                e.Page.NextPage = wizardControl.Pages[wizardControl.Pages.Count - 1];
            }
            #endregion
        }
        public int GetNextQueryId(int idvisit, int idquery)
        {
            int v_next = 0;

            using (var db = new SQLiteConnection(conn_string, true))
            {
                int v_count = db.ExecuteScalar <int>(String.Format(@"select count(*) from form_ans_abo
                                                                    where id_visit = {0}
                                                                    and id_query = {1};",
                                                                   idvisit,
                                                                   idquery));

                //int v_count1 = db.ExecuteScalar<int>(String.Format(@"select count(*) into v_count_1 from komkoradm.form_query_curs
                //                                                     where id_query = {0}
                //                                                     and count_ans = {1};",
                //                                                    idquery,
                //                                                    v_count));

                var form_query_curs_array = db.Query <Form_Query_Curs>(String.Format(@"select * from form_query_curs
                                                                     where id_query = {0}
                                                                     and count_ans = {1};",
                                                                                     idquery,
                                                                                     v_count));
                foreach (var fqc in form_query_curs_array)
                {
                    //form_query_curs_list.Add(fqc);
                    v_next = fqc.Id_Next_Query;
                    if (v_count > 0)
                    {
                        var form_ans_array = db.Query <Form_Ans_Abo>(String.Format(@"select * from form_ans_abo
                                                                     where id_visit = {0}
                                                                     and id_query = {1};",
                                                                                   idvisit,
                                                                                   idquery));
                        foreach (var fa in form_ans_array)
                        {
                            if (!String.Equals(fqc.Var_Ans, String.Format("+{0}+", fa.Id_Ans.ToString())))
                            {
                                v_next = -3;
                                break;
                            }
                        }
                    }
                    if (v_next > 0)
                    {
                        return(v_next);
                    }
                }

                Form_Query fq = GetQuery(idquery);
                v_next = fq.Num_Query;

                if (v_next > 0)
                {
                    return(v_next);
                }
                else
                {
                    v_next = -2;
                }
            }
            return(v_next);
        }