public ChalkableStudentAverage UpdateStudentAverage(int classId, int studentId, int averageId, int?gradingPeriodId, string averageValue, bool exempt, IList <ChalkableStudentAverageComment> comments, string note) { var studentAverage = new StudentAverage { AverageId = averageId, StudentId = studentId, GradingPeriodId = gradingPeriodId, EnteredAverageValue = averageValue, Exempt = exempt }; if (comments != null) { studentAverage.Comments = new List <StudentAverageComment>(); foreach (var comment in comments) { var stAvgComment = new StudentAverageComment { AverageId = averageId, StudentId = studentId, HeaderId = comment.HeaderId, HeaderText = comment.HeaderText, HeaderSequence = comment.HeaderSequence, }; if (comment.GradingComment != null) { stAvgComment.CommentId = comment.GradingComment.Id; stAvgComment.CommentCode = comment.GradingComment.Code; stAvgComment.CommentText = comment.GradingComment.Comment; } studentAverage.Comments.Add(stAvgComment); } } if (note != null) { studentAverage.ReportCardNote = note; } studentAverage = ConnectorLocator.GradebookConnector.UpdateStudentAverage(classId, studentAverage); return(ChalkableStudentAverage.Create(studentAverage)); }
public static StudentAveragesViewData Create(ChalkableStudentAverage studentAverage) { var res = new StudentAveragesViewData { AverageId = studentAverage.AverageId, CalculatedAlphaGrade = studentAverage.CalculatedAlphaGrade != null ? studentAverage.CalculatedAlphaGrade.Name : null, CalculatedAvg = studentAverage.CalculatedAvg, EnteredAlphaGrade = studentAverage.EnteredAlphaGrade != null ? studentAverage.EnteredAlphaGrade.Name : null, EnteredAvg = studentAverage.EnteredAvg, StudentId = studentAverage.StudentId, AverageName = studentAverage.AverageName, IsExempt = studentAverage.Exempt, MayBeExempt = studentAverage.MayBeExempt, Note = studentAverage.Note }; if (studentAverage.Comments != null) { res.Codes = studentAverage.Comments.Select(StudentAverageCommentViewData.Create).ToList(); } return(res); }
public ChalkableStudentAverage UpdateStudentAverage(int classId, int studentId, int averageId, int?gradingPeriodId, string averageValue, bool exempt, IList <ChalkableStudentAverageComment> comments, string note) { var studentAverage = new StudentAverage { AverageId = averageId, StudentId = studentId, GradingPeriodId = gradingPeriodId, EnteredAverageValue = averageValue, SectionId = classId, IsGradingPeriodAverage = true }; decimal numericScore = -1; var isAlphaGrade = !decimal.TryParse(averageValue, out numericScore); if (isAlphaGrade) { var alphaGrade = ServiceLocator.AlphaGradeService.GetAlphaGrades().FirstOrDefault(x => x.Name.ToLowerInvariant() == averageValue); if (alphaGrade != null) { var gradingScaleRange = ((DemoGradingScaleService)ServiceLocator.GradingScaleService).GetByAlphaGradeId(alphaGrade.Id); if (gradingScaleRange != null) { numericScore = gradingScaleRange.AveragingEquivalent; } studentAverage.EnteredAlphaGradeId = alphaGrade.Id; studentAverage.EnteredAlphaGradeName = alphaGrade.Name; studentAverage.CalculatedAlphaGradeId = alphaGrade.Id; studentAverage.CalculatedAlphaGradeName = alphaGrade.Name; } } studentAverage.EnteredNumericAverage = numericScore; studentAverage.CalculatedNumericAverage = numericScore; if (comments != null) { studentAverage.Comments = new List <StudentAverageComment>(); foreach (var comment in comments) { var stAvgComment = new StudentAverageComment { AverageId = averageId, StudentId = studentId, HeaderId = comment.HeaderId, HeaderText = comment.HeaderText, HeaderSequence = comment.HeaderSequence, }; if (comment.GradingComment != null) { stAvgComment.CommentId = comment.GradingComment.Id; stAvgComment.CommentCode = comment.GradingComment.Code; stAvgComment.CommentText = comment.GradingComment.Comment; } studentAverage.Comments.Add(stAvgComment); } } if (note != null) { studentAverage.ReportCardNote = note; } studentAverage = UpdateStudentAverage(studentAverage); return(ChalkableStudentAverage.Create(studentAverage)); }