private void AssignMePercentForAssessment(HeirarchicalScoreData scoreData, ModelServices service, SiteUser su, TIRDetailReportParameter detailReportParameter, ref List <AssessmentMEPerc> AssessmentMePercentages)
 {
     if (scoreData != null)
     {
         detailReportParameter.AssessmentTypeId = scoreData.AssessmentTypeId;
         var mePercentForAssessment = service.GetMEPercentForAssessment(su.Districts.First().Id, scoreData.AssessmentId, detailReportParameter);
         AssessmentMePercentages.Add(mePercentForAssessment);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// GetDetailReport is used to get detail report data.
        /// </summary>
        /// <param name="assessmentTypeId"></param>
        /// <param name="assessmentList"></param>
        /// <param name="districtId"></param>
        /// <param name="detailReportParameter"></param>
        /// <returns></returns>
        internal List<HeirarchicalTIRDetail> GetHeirarchicalDetailReport(int districtId, TIRDetailReportParameter detailReportParameter)
        {
            //int horizontalPageIndex = 0;

            List<HeirarchicalTIRDetail> results = new List<HeirarchicalTIRDetail>();
            SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
            connection.Open();
            SqlCommand command = new SqlCommand("spGetHeirarchicalTeacherImpactDetail", connection);
            command.CommandType = System.Data.CommandType.StoredProcedure;

            command.Parameters.Add(new SqlParameter("@SubjectId", detailReportParameter.Subject));
            command.Parameters.Add(new SqlParameter("@SchoolYearId", detailReportParameter.Year));
            command.Parameters.Add(new SqlParameter("@AssessmentTypeId", detailReportParameter.AssessmentTypeId));
            command.Parameters.Add(new SqlParameter("@TeacherId", detailReportParameter.Teacher));
            command.Parameters.Add(new SqlParameter("@GradeLevel", detailReportParameter.Grade));
            command.Parameters.Add(new SqlParameter("@ViewScaledScore", detailReportParameter.ViewScaledScore));
            command.Parameters.Add(new SqlParameter("@ClassID", detailReportParameter.ClassId));
            command.Parameters.Add(new SqlParameter("@DistrictId", districtId));
            command.Parameters.Add(new SqlParameter("@InputTermId", detailReportParameter.InputTermId));
            command.Parameters.Add(new SqlParameter("@Race", detailReportParameter.Race == -1 ? (int?)null : detailReportParameter.Race));
            command.Parameters.Add(new SqlParameter("@Gender", detailReportParameter.Gender == -1 ? (int?)null : detailReportParameter.Gender));
            command.Parameters.Add(new SqlParameter("@FrlIndicator", detailReportParameter.FrlIndicator));
            command.Parameters.Add(new SqlParameter("@IepIndicator", detailReportParameter.IEPIndicator));
            command.Parameters.Add(new SqlParameter("@LepIndicator", detailReportParameter.LEPIndicator));
            command.Parameters.Add(new SqlParameter("@Hispanic", detailReportParameter.Hispanic));
            command.Parameters.Add(new SqlParameter("@InputParentAssessmentTypeId", detailReportParameter.InputParentAssessmentTypeId));

            SqlDataReader reader = command.ExecuteReader();

            HeirarchicalTIRDetail tempDetail = null;
            int prevStudent = -1;
            int assessmentIndex = 0;
            while (reader.Read())
            {
                var currentStudentId = Convert.ToInt32(reader["StudentId"]);
                if (prevStudent != currentStudentId)
                {
                    prevStudent = currentStudentId;

                    if (tempDetail != null)
                    {
                        //creating new row
                        tempDetail.AssessmentCount = assessmentIndex;
                        results.Add(tempDetail);
                        assessmentIndex = 0;
                    }

                    tempDetail = new HeirarchicalTIRDetail();
                    tempDetail.StudentId = currentStudentId;
                    tempDetail.LocalId = reader["LocalId"].ToString();
                    tempDetail.StudentName = reader["StudentName"].ToString();
                    tempDetail.LastName = reader["LastName"].ToString();
                    tempDetail.SchoolTermId = reader["SchoolTermId"] == DBNull.Value ? (int?)null : Convert.ToInt32(reader["SchoolTermId"]);
                    tempDetail.RubricFileName = reader["RubricFileName"].ToString();
                    tempDetail.SLOFileName = reader["SLOFileName"].ToString();
                }

                decimal? score = null;
                decimal? projection = null;
                decimal? impact = null;
                decimal? percentile = null;
                int? meetExceedValue = null;
                decimal? growth = null;
                int? parentAssessmentTypeId = null;
                int assessmentId;
                int assessmentTypeId;
                string assessmentDesc = null;
                string assessmentCode = null;
                SetHeirarchicalAssessmentScoreData(out score, out projection, out impact, out percentile, out meetExceedValue, out growth, out parentAssessmentTypeId, out assessmentId, out assessmentTypeId, out assessmentDesc, out assessmentCode, detailReportParameter.ViewScaledScore, reader);
                try
                {
                    var scoreData = new HeirarchicalScoreData();
                    tempDetail.ScoreDataCollection.Add(scoreData);

                    scoreData.RoundingType = HelperService.GetDecimalDisplayFormat(detailReportParameter.ViewScaledScore ? RoundingType.SiteDefaultDecimalPlace : RoundingType.NoDecimalPlace);
                    scoreData.Growth = growth;
                    scoreData.Percentile = percentile;
                    scoreData.Score = score;
                    scoreData.Projection = projection;
                    scoreData.Impact = impact;
                    scoreData.MeetExceedValue = meetExceedValue;
                    scoreData.AssessmentDesc = assessmentDesc;
                    scoreData.ParentAssessmentTypeId = parentAssessmentTypeId;
                    scoreData.AssessmentId = assessmentId;
                    scoreData.AssessmentTypeId = assessmentTypeId;
                    scoreData.AssessmentCode = assessmentCode;
                }
                catch (Exception ex)
                {
                    throw new Exception("Check if field exists belongs to correct assessment", ex);
                }
                assessmentIndex++;

            }

            if (tempDetail != null)
            {
                tempDetail.AssessmentCount = assessmentIndex;
                results.Add(tempDetail);
                //if any student has less assessments than total assessments, then in order to create same header for all,
                //add assessment with null score from previous assessments. 
                results = GetFinalAssessmentAfterMergingMissingAssessments(results);
            }
            reader.Close();
            connection.Close();
            return results;
        }
 private void AssignMePercentForAssessment(HeirarchicalScoreData scoreData, ModelServices service, SiteUser su, TIRDetailReportParameter detailReportParameter, ref List<AssessmentMEPerc> AssessmentMePercentages)
 {
     if (scoreData != null)
     {
         detailReportParameter.AssessmentTypeId = scoreData.AssessmentTypeId;
         var mePercentForAssessment = service.GetMEPercentForAssessment(su.Districts.First().Id, scoreData.AssessmentId, detailReportParameter);
         AssessmentMePercentages.Add(mePercentForAssessment);
     }
 }
Ejemplo n.º 4
0
 public List<HeirarchicalTIRDetail> GetFinalAssessmentAfterMergingMissingAssessments(List<HeirarchicalTIRDetail> existingAssessmentDetails)
 {
     // to get assessments with maximum number of assessments on top
     existingAssessmentDetails = existingAssessmentDetails.OrderByDescending(x => x.AssessmentCount).ToList();
     int maxAssessmentCount = existingAssessmentDetails.Max(x => x.AssessmentCount);
     HeirarchicalTIRDetail previousRecord = null;
     existingAssessmentDetails.ForEach(record =>
     {
         if (previousRecord != null && record.ScoreDataCollection.Count < maxAssessmentCount)
         {
             previousRecord.ScoreDataCollection.ForEach(prevRecord =>
             {
                 var assessmentExist = record.ScoreDataCollection.Exists(sa => sa.AssessmentTypeId == prevRecord.AssessmentTypeId);
                 if (!assessmentExist)
                 {
                     var newScoreData = new HeirarchicalScoreData();
                     newScoreData.AssessmentTypeId = prevRecord.AssessmentTypeId;
                     newScoreData.AssessmentCode = prevRecord.AssessmentCode;
                     record.ScoreDataCollection.Add(newScoreData);
                 }
             });
         }
         previousRecord = record;
     });
     //sort by AssessmentTypeId to get merged and old records in order.
     existingAssessmentDetails.ForEach(record =>
     {
         var sortedScoreDataList = record.ScoreDataCollection.OrderBy(x => x.AssessmentTypeId).ToList();
         record.ScoreDataCollection = sortedScoreDataList;
     });
     return existingAssessmentDetails;
 }