Exemple #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        this.Page.Title = "KeenProfile Assessment Extra";
        if (!this.Page.IsPostBack)
        {
            if (!string.IsNullOrEmpty(Request.QueryString["success"]))
            {
                main_thanks.Visible = true;
                main_form.Visible   = false;

                Model_AssesIntro intro = new Model_AssesIntro();
                intro            = intro.GetIntro();
                ThanksTitle.Text = intro.ThanksTitle;
                ThanksDes.Text   = convertcontent(intro.ThanksDes);
            }
            else
            {
                Model_Users u = this.UserActive;
                if (u != null)
                {
                    heUserID.Value = u.UserID.ToString();



                    if (!string.IsNullOrEmpty(Request.QueryString["ts"]))
                    {
                        int intTs = int.Parse(Request.QueryString["ts"]);

                        hdTsID.Value = intTs.ToString();

                        Model_ReportItemResult cr = new Model_ReportItemResult();
                        Model_UsersAssessment  us = new Model_UsersAssessment();

                        List <Model_UsersAssessment> uss = us.GetUserAssessmentByTsID(intTs);

                        List <Model_ReportItemResult> crl = cr.GetItemReportByTransactionID(intTs);


                        List <Model_ReportItemResult> dup = crl.Where(o => o.IsDup > 0).ToList();


                        Dictionary <decimal, int> GroupDup = dup.GroupBy(x => (decimal)x.Score_new)
                                                             .Where(g => g.Count() > 1)
                                                             .ToDictionary(x => x.Key, y => y.Count());



                        int numStep = GroupDup.Count();

                        StringBuilder ret = new StringBuilder();

                        int count = 1;
                        foreach (KeyValuePair <decimal, int> q in GroupDup)
                        {
                            List <Model_ReportItemResult> dupfocus = dup.Where(d => d.Score_new == q.Key).OrderByDescending(r => r.Score_new).ToList();

                            ret.Append("<h1 class=\"step_count\"></h1>\r\n");
                            ret.Append("<div class=\"step-content\" data-valid=\"check_choice\" data-count=\"" + (dupfocus.Count < 3 ? 3 : dupfocus.Count) + "\">\r\n");
                            ret.Append("<input type=\"hidden\" name=\"ass_fill_\"  value=\"" + count + "\" />\r\n");

                            ret.Append("<div class=\"text-center m-t-md\">\r\n");
                            ret.Append("<h2>โปรดให้ระดับคะแนนความสำคัญของข้อความต่อไปนี้ว่าข้อความใดตรงกับตัวตนของคุณมากที่สุด โดยในแต่ละข้อโปรดเลือกระดับคะแนนของแต่ละข้อความไม่ให้ซ้ำกัน</h2>\r\n");


                            ret.Append("<div class=\"question-type q-type-rank-scale-choice\">\r\n");
                            ret.Append("<div class=\"col-md-12 tbl-rank-scale\" >\r\n");

                            ret.Append("<table>\r\n");
                            ret.Append("<tr>\r\n");
                            ret.Append("<td class=\"question\"></td>\r\n");
                            //ret.Append("<input type=\"hidden\"   name=\"ass_fill_i_sc_" + ass.ASID + "\" value=\"0\" />");
                            for (int i = 1; i <= (dupfocus.Count < 3 ? 3 : dupfocus.Count); i++)
                            {
                                if (i == 1)
                                {
                                    ret.Append("<td class=\"choice\">" + i + "<br /><span> เป็นตัวตนของฉัน \"น้อย\" ที่สุด</span></td>\r\n");
                                }
                                else if (i == (dupfocus.Count < 3 ? 3 : dupfocus.Count))
                                {
                                    ret.Append("<td class=\"choice\">" + i + "<br /> <span> เป็นตัวตนของฉัน \"มาก\" ที่สุด</span></td>\r\n");
                                }
                                else
                                {
                                    ret.Append("<td class=\"choice\">" + i + "</td>\r\n");
                                }
                            }

                            ret.Append(" </tr>\r\n");



                            if (dupfocus.Count > 0)
                            {
                                foreach (Model_ReportItemResult ch in dupfocus)
                                {
                                    Model_UsersAssessment assuser = uss.FirstOrDefault(o => o.TASID == ch.TASID);
                                    if (assuser != null)
                                    {
                                        ret.Append("<tr>\r\n");
                                        ret.Append("<input type=\"hidden\" name=\"ass_fill_ch_\"  value=\"" + ch.TASID + "\" />\r\n");
                                        ret.Append("<td class=\"question\">" + assuser.Questions + "</td>\r\n");

                                        //for (int i = 1; i <= (dupfocus.Count < 3? 3: dupfocus.Count); i++)
                                        for (int i = (dupfocus.Count < 3 ? 3 : dupfocus.Count); i >= 1; i--)
                                        {
                                            //ret.Append("<td class=\"choice\"><input type=\"radio\"   name=\"ass_fill_ch_sc_" + ch.ResultID + "\" value=\"" + i + "\" /></td>\r\n");
                                            ret.Append("<td class=\"choice\"><input type=\"radio\"   name=\"ass_fill_ch_sc_" + ch.TASID + "\" value=\"" + i + "\" /></td>\r\n");
                                        }

                                        ret.Append("</tr>\r\n");
                                    }
                                }


                                if (dupfocus.Count < 3)
                                {
                                    List <Model_UsersAssessment> randomlist = new List <Model_UsersAssessment>();

                                    foreach (Model_UsersAssessment i in uss)
                                    {
                                        foreach (Model_ReportItemResult ch in dupfocus)
                                        {
                                            if (i.TASID != ch.TASID)
                                            {
                                                randomlist.Add(i);
                                            }
                                        }
                                    }

                                    Model_UsersAssessment rd = randomlist.Where(p => !dupfocus.Any(p2 => p2.TASID == p.TASID)).Skip(3).FirstOrDefault();

                                    ret.Append("<tr>\r\n");
                                    //ret.Append("<input type=\"hidden\" name=\"ass_fill_ch_\"  value=\"" + rd.ResultID + "\" />\r\n");
                                    ret.Append("<td class=\"question\">" + rd.Questions + "</td>\r\n");

                                    //for (int i = 1; i <= (dupfocus.Count < 3 ? 3 : dupfocus.Count); i++)
                                    for (int i = (dupfocus.Count < 3 ? 3 : dupfocus.Count); i >= 1; i--)
                                    {
                                        ret.Append("<td class=\"choice\"><input type=\"radio\"   name=\"ass_fill_ch_sc_" + rd.TASID + "\" value=\"" + i + "\" /></td>\r\n");
                                    }

                                    ret.Append("</tr>\r\n");
                                }
                            }



                            ret.Append("</table>\r\n");
                            ret.Append("</div>\r\n");
                            ret.Append("</div>\r\n");



                            ret.Append("</div>\r\n");
                            ret.Append("</div>\r\n");

                            count = count + 1;
                        }

                        Stepcontent.Text = ret.ToString();
                        numtopic.Text    = (count - 1).ToString();
                    }
                }
            }
        }
        else
        {
            //Button btn = (Button)sender;

            //Response.Write(chckCJF.SelectedValue);
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        this.Page.Title = "KeenProfile Assessment";
        if (!this.Page.IsPostBack)
        {
            if (!string.IsNullOrEmpty(Request.QueryString["success"]))
            {
                main_thanks.Visible = true;
                main_form.Visible   = false;

                Model_AssesIntro intro = new Model_AssesIntro();
                intro            = intro.GetIntro();
                ThanksTitle.Text = intro.ThanksTitle;
                ThanksDes.Text   = convertcontent(intro.ThanksDes);
            }
            else
            {
                Model_Users u = this.UserActive;
                if (u != null)
                {
                    //Get Main Intro
                    Model_AssesIntro intro = new Model_AssesIntro();
                    intro = intro.GetIntro();


                    //Get Job Function
                    Model_CJF        cjf     = new Model_CJF();
                    List <Model_CJF> cjflist = cjf.GetCJFeAll();

                    Model_UserCJF        cjflistUser    = new Model_UserCJF();
                    List <Model_UserCJF> cjfuserChecked = cjflistUser.GetListUsercjf(u.UserID);

                    //Get Functional Competencies
                    Model_FC        fc     = new Model_FC();
                    List <Model_FC> fclist = fc.GetFCAll();

                    Model_UserFC        fcuser        = new Model_UserFC();
                    List <Model_UserFC> fcuserchecked = fcuser.GetListUserFc(u.UserID);

                    //Get Section
                    Model_AsSection        section     = new Model_AsSection();
                    List <Model_AsSection> sectionlist = section.GetListSection(true);

                    //Get Assessment
                    Model_Assessment        ass     = new Model_Assessment();
                    List <Model_Assessment> asslist = ass.GetAssessmentAll();

                    //Get Country
                    Model_Country        c        = new Model_Country();
                    List <Model_Country> ccountry = c.GetAllCountry();


                    dropNation.DataSource     = ccountry;
                    dropNation.DataTextField  = "DropValue";
                    dropNation.DataValueField = "ID";
                    dropNation.DataBind();

                    dropNation.SelectedValue = "211";


                    StringBuilder strcjf = new StringBuilder();
                    StringBuilder strfc  = new StringBuilder();


                    strcjf.Append("<div  class=\"checkitem\">");


                    foreach (Model_CJF i  in cjflist.Where(r => r.Status))
                    {
                        string check = string.Empty;
                        if (cjfuserChecked.Where(r => r.CJFID == i.CJFID).Count() > 0)
                        {
                            check = "Checked=\"Checked\"";
                        }


                        strcjf.Append("<div class=\"item\">");
                        strcjf.Append("<input  type=\"radio\" name=\"chckCJF_form\" " + check + " class=\"role_cjf_valid\" value=\"" + i.CJFID + "\">");
                        strcjf.Append("<label>" + i.Title + "</label>");
                        strcjf.Append("</div>");
                    }


                    strcjf.Append("</div>");



                    strfc.Append("<div class=\"checkitem\">");

                    foreach (Model_FC i in fclist)
                    {
                        string check = string.Empty;
                        if (fcuserchecked.Where(r => r.FCID == i.FCID).Count() > 0)
                        {
                            check = "Checked=\"Checked\"";
                        }

                        strfc.Append("<div class=\"item\">");
                        strfc.Append("<input  type=\"checkbox\" name=\"chckFC_form\" " + check + " class=\"role_fc_valid\" value=\"" + i.FCID + "\">");
                        strfc.Append("<label>" + i.Title + "</label>");
                        strfc.Append("</div>");
                    }

                    strfc.Append("</div>");

                    chckCJF.Text = strcjf.ToString();
                    // checkFC.Text = strfc.ToString();



                    IntroTitle.Text  = intro.Title;
                    IntroDetail.Text = convertcontent(intro.Description);

                    LastTitle.Text = intro.LastTitle;
                    LastDes.Text   = convertcontent(intro.LastDes);

                    Maintitle.Text = intro.MainTitle;


                    profiletitle.Text = intro.ProfileTitle;
                    //fctitle.Text = intro.ProfileFCTitle;
                    cjftitle.Text = intro.ProfileCJFTitle;

                    StringBuilder ret = new StringBuilder();
                    foreach (Model_AsSection sec in sectionlist)
                    {
                        //string sIntro = sec.Title;
                        //string sDetail = convertcontent(sec.Intro);

                        List <Model_Assessment> list = asslist.Where(r => r.SCID == sec.SCID).OrderBy(r => r.Priority).ThenBy(r => r.GroupName).ToList();
                        if (list.Count > 0)
                        {
                            ret.Append(GenSectionIntro(sec));


                            foreach (Model_Assessment asi in list)
                            {
                                string question = asi.Questions;
                                int    rs       = asi.StartRank;
                                int    rd       = asi.EndRank;

                                byte questionType = asi.QTID;



                                // 1   Scale
                                //4   Ranking Scale
                                //5   Left / Right Ranking
                                switch (questionType)
                                {
                                //Scale
                                case 1:
                                    ret.Append(GenQuestionTypeScale(asi));
                                    break;

                                //Ranking Scale
                                case 4:
                                    ret.Append(GenQuestionTypeRankingScalChoice(asi));
                                    break;

                                //Left / Right Ranking
                                case 5:
                                    ret.Append(GenQuestionTypeRankLeftRigth(asi));
                                    break;
                                }
                            }
                        }
                    }

                    Stepcontent.Text = ret.ToString();


                    //Binding profile (initial data)
                    heUserID.Value           = u.UserID.ToString();
                    firstName.Text           = (string.IsNullOrEmpty(u.FirstName) ? "" : u.FirstName);
                    LastName.Text            = (string.IsNullOrEmpty(u.LastName) ? "" : u.LastName);
                    dropGender.SelectedValue = u.Gender.ToString();
                    dropNation.SelectedValue = u.Nationality.ToString();
                    day.Text     = (u.DateofBirth != null? u.DateofBirth.ToString("yyy-MM-dd"): "");
                    txtPhon.Text = (string.IsNullOrEmpty(u.MobileNumber) ? "" : u.MobileNumber);
                }
            }
        }
        else
        {
            //Button btn = (Button)sender;

            //Response.Write(chckCJF.SelectedValue);
        }
    }