//public bool IsDup { get; set; } public Calculation_T4(int intResultSectionID, int TransactionID) { this.ResultSectionID = intResultSectionID; this.TransactionID = TransactionID; Model_ReportSectionItem rss = new Model_ReportSectionItem(); this.ReportSectionItem = rss.GetListItemBySectionID(this.ResultSectionID); this.R_UserAss_C = GetUserAss('c').OrderBy(o => o.Priority).ToList(); Model_ReportItemResult ret = new Model_ReportItemResult(); this.ReportResultT3 = ret.GetItemReportByTransactionID(this.TransactionID, 3); Model_Rule2 ideal = new Model_Rule2(); this.IdealScore = ideal.GetAll(); Model_Rule1 r1 = new Model_Rule1(); this.RuleScore1 = r1.GetAll(); Model_Rule4 r4 = new Model_Rule4(); this.RuleScore4 = r4.GetAll(); }
public bool RecordResult(List <Model_ReportItemResult> result) { bool ret = false; if (result.Count > 0) { Model_ReportItemResult me = new Model_ReportItemResult(); ret = me.InsertReportItemResultBulk(result); } return(ret); }
//public bool IsDup { get; set; } public Calculation_T6(int intResultSectionID, int TransactionID) { this.ResultSectionID = intResultSectionID; this.TransactionID = TransactionID; Model_ReportSectionItem rss = new Model_ReportSectionItem(); this.ReportSectionItem = rss.GetListItemBySectionID(this.ResultSectionID); Model_ReportItemResult ret = new Model_ReportItemResult(); this.ReportResultT4 = ret.GetItemReportByTransactionID(this.TransactionID, 4); this.ReportResultT2 = ret.GetItemReportByTransactionID(this.TransactionID, 2); Model_Jobfunction cj = new Model_Jobfunction(); this.JobFunctionList = cj.GetAll(); Model_JobFunctionListMain cjm = new Model_JobFunctionListMain(); this.JobFunctionListMain = cjm.GetAllActive(); Model_JobFunctionListMap cjmap = new Model_JobFunctionListMap(); this.JobFunctionListMap = cjmap.GetAllList(); Model_JFR1 r1 = new Model_JFR1(); this.Rule1 = r1.GetAll(); Model_JFR2 r2 = new Model_JFR2(); this.Rule2 = r2.GetAll(); Model_JFR3 r3 = new Model_JFR3(); this.Rule3 = r3.GetAll(); Model_JFR4 r4 = new Model_JFR4(); this.Rule4 = r4.GetAll(); }
//Get Subsection F and H public List <Model_ReportItemResult> Code_SumValueBySubSection() { //Cdoe F = Section 7; List <Model_ReportItemResult> rlist = new List <Model_ReportItemResult>(); var T2Ranking = this.ReportResultT2.Select(s => new { ResultID = s.ResultID, ResultItemID = s.ResultItemID, Ranking = this.ReportResultT2.Count(x => (decimal)x.Score_new > (decimal)s.Score_new) + 1, Name = s.ResultItemTitle, Score = s.Score_new }); foreach (Model_ReportSectionItem item in this.ReportSectionItem) { string map = item.SUCID; //string[] arrGroup = map.Split('#'); string[] arrmap = map.Split(','); decimal score = 0; decimal score_y = 0; decimal score_c = 0; string group = string.Empty; byte Side_y = 0; byte Side_c = 0; byte frequency_c = 0; byte frequency_y = 0; decimal SumGeniuses = 0.0m; decimal SumTrait = 0.0m; decimal ReqSupGeniuses = 0.0m; decimal ReqSupBottom = 0.0m; int CountSup = this.ReportResultT4.Where(o => o.GT == 1).Count(); int CountBottom = this.ReportResultT4.Where(o => o.GT == 5).Count(); if (arrmap.Length > 0) { foreach (string m in arrmap) { List <Model_Jobfunction> cj = this.JobFunctionList.Where(o => o.JFID == int.Parse(m)).ToList(); if (cj.Count > 0) { Model_Jobfunction cJob = cj.FirstOrDefault(); foreach (Model_JobFunctionListMain main in this.JobFunctionListMain.Where(o => o.Category == 1)) { Model_ReportItemResult ass = this.ReportResultT4.Where(o => o.ResultItemID == int.Parse(main.Mapping)).FirstOrDefault(); Model_JobFunctionListMap mapscore = this.JobFunctionListMap.Where(o => o.JFID == cJob.JFID && o.JFMID == main.JFMID).FirstOrDefault(); if (mapscore != null && ass != null) { Model_JFR1 rule1ret = this.Rule1.Where(o => o.Score == (int)ass.GT).FirstOrDefault(); SumGeniuses += (decimal)rule1ret.GetType().GetProperty("CJRRuleScore" + mapscore.Score).GetValue(rule1ret); foreach (Model_JFR3 r3 in this.Rule3.Where(o => o.Cat == 1)) { if (CalKey(r3.Condition1, (int)ass.GT) && CalKey(r3.Condition2, (int)mapscore.Score)) { ReqSupGeniuses += r3.Score; //if (r3.Score == 1) // CountSup = CountSup + 1; break; } } foreach (Model_JFR3 r3 in this.Rule3.Where(o => o.Cat == 2)) { if (CalKey(r3.Condition1, (int)ass.GT) && CalKey(r3.Condition2, (int)mapscore.Score)) { ReqSupBottom += r3.Score; //if (r3.Score == 5) // CountBottom = CountBottom + 1; break; } } //Model_JFR3 rule2ret = this.Rule3.Where(o => ).FirstOrDefault(); //ReqSupGeniuses += (decimal)rule2ret.GetType().GetProperty("CJRRuleScore" + mapscore.Score).GetValue(rule1ret); //Model_JFR3 rule3ret = this.Rule3.Where(o => o.Score == (int)ass.GT && o.Cat == 2).FirstOrDefault(); } } foreach (Model_JobFunctionListMain main in this.JobFunctionListMain.Where(o => o.Category == 2)) { var ass = T2Ranking.Where(o => o.ResultItemID == int.Parse(main.Mapping)).FirstOrDefault(); Model_JobFunctionListMap mapscore = this.JobFunctionListMap.Where(o => o.JFID == cJob.JFID && o.JFMID == main.JFMID).FirstOrDefault(); if (mapscore != null && ass != null) { Model_JFR2 rule1ret = this.Rule2.Where(o => o.Score == (int)ass.Ranking).FirstOrDefault(); SumTrait += (decimal)rule1ret.GetType().GetProperty("CJRRuleScore" + mapscore.Score).GetValue(rule1ret); } } } } rlist.Add(new Model_ReportItemResult { ResultSectionID = this.ResultSectionID, ResultItemID = item.ResultItemID, ResultItemTitle = item.Title, TransactionID = this.TransactionID, Score = score, Score_new = score, Score_y = score_y, Score_c = score_c, T5Group = group, Side_c = Side_c, Side_y = Side_y, Frequency_c = frequency_c, Frequency_y = frequency_y, SumGeniuses = SumGeniuses, SumTrait = SumTrait, ReqSupBottom = ReqSupBottom, ReqSupGeniuses = ReqSupGeniuses, CountBottom = CountBottom, CountSup = CountSup }); } } List <Model_ReportItemResult> ListReview = ReviewResult(rlist); return(ListReview.OrderByDescending(o => o.Score_new).ToList()); }
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); } }