public void PrintIntervention(int aid, int rlst,string riskName) { try { Assessment ass = new Assessment(); ass = ass.GetAssessmentByOID(aid); ResultLetterDetail letterDetail = null; ResultLetter resultLetter = new ResultLetter(); resultLetter = resultLetter.GetResultLetterByAOID(aid); Collection<Answer> answers = new Answer().GetAnswerByAOIDAndRLST_ForPrintResultLetter(aid, rlst); //Collection<Student> studentList = new Student().GetAllStudentByResultLetterSentTimes(rlst); Collection<Student> studentList = new Collection<Student>();// new Student().GetAllStudentByResultLetterSentTimes(rlst); foreach (Answer answer in answers) { //Student student = new Student(); Student student = new Student().GetStudentByStudentOID(answer.BannerID.ToString()); RiskCalculation riskCalculation = new RiskCalculation(); if (student != null) { riskCalculation = riskCalculation.GetRiskCalculationByAOIDAndSOIDAndRiskName(aid, student.StudentOID,riskName); } // if (student.StudentOID == 0) break ; bool isContain = false; foreach (Student std in studentList) { if (student.StudentOID == std.StudentOID) { isContain = true; } } if (!isContain && riskCalculation != null && student != null) //if (!isContain && riskCalculation != null) { answer.UpdateAnswer_ForNumberofPrinted(aid, rlst, Convert.ToInt32(student.StudentOID)); answer.UpdateScoreDetailsTable_ForNumberofPrinted(aid, rlst, Convert.ToInt32(student.StudentOID)); studentList.Add(student); } } // bool updateStatus = new Student().UpdateAllStudentByResultLetterSentTimes(rlst); List<ScoreDetailTable> scoreDetailTableList = new ScoreDetailTable().GetScoreDetailTableByAOID(ass.AssessmentOID); //List<ScoreDetailTable> scoreDetailTableList = new List<ScoreDetailTable>(); StringBuilder sb = new StringBuilder(); string dateStr = System.DateTime.Today.ToLongDateString(); foreach (Student student in studentList) { //sb.Append("<table cellpadding='0' cellspacing='0' style='page-break-after:always; width:90%; margin:0px 0px 0px 0px;' >"); #region Header sb.Append("<table cellpadding='0' cellspacing='0' style='width:100%; margin:10px 10px 5px 10px;font-size:12px; page-break-after:always; height:100%'>"); sb.Append("<tr>"); sb.Append("<td> " + dateStr + "</td>"); sb.Append("</tr>"); sb.Append("<tr>"); sb.Append("<td> <br/>" + student.FullName + "</td>"); sb.Append("</tr>"); sb.Append("<tr>"); sb.Append("<td> " + student.AddressOne + "</td>"); sb.Append("</tr>"); sb.Append("<tr>"); sb.Append("<td> "); sb.Append("<table cellpadding='0' cellspacing='0' style='width:100%;'>"); sb.Append("<tr>"); sb.Append("<td align='left' style='font-size:12px'>"); if (!string.IsNullOrEmpty(student.City)) { sb.Append(student.City); } if (!string.IsNullOrEmpty(student.State)) { sb.Append(", " + student.State); } if (!string.IsNullOrEmpty(student.ZIPCode)) { sb.Append(", " + student.ZIPCode); } sb.Append("</td> "); sb.Append("<td align='right'> Student ID: " + student.StudentID + "</td>"); sb.Append("<tr>"); sb.Append("</table>"); sb.Append("</td>"); sb.Append("</tr>"); #endregion #region StudentName string studentFirstName = student.FullName; if (!string.IsNullOrEmpty(studentFirstName)) { try { if (studentFirstName.Contains(',')) { studentFirstName = studentFirstName.Split(',')[1]; } } catch { } } #endregion sb.Append("<tr>"); sb.Append("<td><br/>Dear " + studentFirstName + ":</td>"); sb.Append("</tr>"); // sb.Append("</br><div id='Header' style='height:150px;position: relative;vertical-align:top;border:1px solid red'>"); if (resultLetter != null) { sb.Append("<tr>"); sb.Append("<td style='font-size:12px;border:1px''>" + resultLetter.Header + "</td>"); sb.Append("</tr>"); } // sb.Append("</div>"); sb.Append("<tr>"); sb.Append("<td><br/>"); sb.Append("<table cellpadding='0' cellspacing='0' style='width:98%;'>"); sb.Append("<tr>"); sb.Append("<td style='background:#d7d7d7; width:29%; border: thin solid #999; padding:8px;font-family:Calibri;font-size:10px;'><b>CATEGORY</b></td>"); sb.Append("<td style='background:#d7d7d7; width:69%; border: thin solid #999; padding:8px;font-family:Calibri;font-size:10px;'><b>DEFINITION</b></td>"); sb.Append("</tr>"); //Collection<StudentRank> studentRankList_ = new StudentRank().GetStudentRankBySOIDandAOID(student.StudentOID, ass.AssessmentOID); #region SectionList foreach (Section s in ass.SectionList) { if (s.SectionName == "NoScore") continue; string definition = "", starValue = ""; if (resultLetter != null) { if (resultLetter.LetterDetail != null) { var tmp = from detail in resultLetter.LetterDetail where detail.SectionOID == s.SectionOID select detail; letterDetail = tmp != null ? tmp.First() : null; } } #endregion sb.Append("<tr>"); #region unused //foreach (StudentRank SR in studentRankList) //{ // if (SR.SectionOID == s.SectionOID) // { // if (SR.Rank < s.Flag) // { // starValue = " *"; // break; // } // else // { starValue = ""; } // } //} //scoreDetailTableList #endregion #region Star foreach (ScoreDetailTable SR in scoreDetailTableList) { if ((SR.StudentOID == student.StudentOID) && (SR.SectionOID == s.SectionOID)) { //if ((SR.Score*s.TotalQuestion) < s.Flag) if ((SR.Rank) < s.Flag) { starValue = " *"; break; } else { starValue = ""; break; } } } #endregion sb.Append("<td style='width:29%; border: thin solid #999; padding:8px;font-family:Calibri;font-size:10px;'><b>" + s.SectionName + starValue + "</b></td>"); definition = (letterDetail != null) ? letterDetail.SectionDefinition : ""; sb.Append("<td style='width:69%; border: thin solid #999; padding:8px; text-align:left; font-family:Calibri;font-size:10px;'>" + definition + "</td>"); } sb.Append("</table>"); //sb.Append("<div id='Footer' style='height:150px;position: relative;vertical-align:top;border:1px solid red'>"); if (resultLetter != null) { sb.Append("<tr>"); sb.Append("<td style='valign:top;font-size:12px;border:1px''><br/>" + resultLetter.ShowAboveResult + "</td>"); sb.Append("</tr>"); } //sb.Append("</div>"); sb.Append("</td>"); sb.Append("</tr>"); sb.Append("</table>"); sb.Append("</table>"); } ////print_div1.InnerHtml = sb.ToString(); Response.Write(sb.ToString()); return; } catch (Exception ex) { } }
public List<ScoreDetailTable> GetScoreDetailTableByAOID(int AOID) { ScoreDetailTable scoreDetailTable = null; List<ScoreDetailTable> _list = new List<ScoreDetailTable>(); using (OdbcConnection connection = new OdbcConnection(connectionString)) { using (OdbcCommand command = new OdbcCommand()) { command.Connection = connection; command.CommandText = "{CALL GetScoreDetailTableByAOID(?)}"; command.CommandType = CommandType.StoredProcedure; //Parameter Setting command.Parameters.AddWithValue("@AOID", AOID); connection.Open(); using (OdbcDataReader dataReader = command.ExecuteReader()) { while (dataReader.Read()) { scoreDetailTable = new ScoreDetailTable(); scoreDetailTable.AssessmentOID = Convert.ToInt32(dataReader["AssessmentOID"]); scoreDetailTable.SectionOID = Convert.ToInt32(dataReader["SectionOID"]); scoreDetailTable.ScoreName = Convert.ToString(dataReader["ScoreName"]); scoreDetailTable.RankName = Convert.ToString(dataReader["RankName"]); scoreDetailTable.StudentOID = Convert.ToInt32(dataReader["StudentOID"]); if (dataReader["BannerID"] != null && dataReader["BannerID"] != DBNull.Value) { scoreDetailTable.BannerID = Convert.ToString(dataReader["BannerID"]); } if (dataReader["StudentName"] != null && dataReader["StudentName"] != DBNull.Value) { scoreDetailTable.StudentName = Convert.ToString(dataReader["StudentName"]); } if (dataReader["Program"] != null && dataReader["Program"] != DBNull.Value) { scoreDetailTable.Program = Convert.ToString(dataReader["Program"]); } scoreDetailTable.Score = Convert.ToDouble(dataReader["Score"]); scoreDetailTable.Rank = Convert.ToDouble(dataReader["Rank"]); _list.Add(scoreDetailTable); } } } } return _list; }