public StudentAverage UpdateStudentAverage(StudentAverage studentAverage) { var gb = GetBySectionAndGradingPeriod(studentAverage.SectionId, null, studentAverage.GradingPeriodId); var avgs = gb.StudentAverages.ToList(); var id = -1; for (var i = 0; i < avgs.Count; ++i) { var avg = avgs[i]; if (avg.SectionId != studentAverage.SectionId || avg.StudentId != studentAverage.StudentId || avg.GradingPeriodId != studentAverage.GradingPeriodId) { continue; } id = i; } if (id == -1) { avgs.Add(studentAverage); } else { avgs[id] = studentAverage; } gb.StudentAverages = avgs; return(studentAverage); }
public override bool Equals(object obj) { if (obj is StudentAverage) { StudentAverage s = (StudentAverage)obj; return(Name == s.Name && Score == s.Score); } else { return(false); } }
public static ChalkableStudentAverage Create(StudentAverage studentAverage) { var res = new ChalkableStudentAverage { AverageId = studentAverage.AverageId, AverageName = studentAverage.AverageName, CalculatedAvg = studentAverage.CalculatedNumericAverage, EnteredAvg = studentAverage.EnteredNumericAverage, StudentId = studentAverage.StudentId, IsGradingPeriodAverage = studentAverage.IsGradingPeriodAverage, Exempt = studentAverage.Exempt, MayBeExempt = studentAverage.MayBeExempt, Note = studentAverage.ReportCardNote, ClassId = studentAverage.SectionId, GradingPeriodId = studentAverage.GradingPeriodId }; if (studentAverage.CalculatedAlphaGradeId.HasValue) { res.CalculatedAlphaGrade = new AlphaGrade { Id = studentAverage.CalculatedAlphaGradeId.Value, Name = studentAverage.CalculatedAlphaGradeName } } ; if (studentAverage.EnteredAlphaGradeId.HasValue) { res.EnteredAlphaGrade = new AlphaGrade { Id = studentAverage.EnteredAlphaGradeId.Value, Name = studentAverage.EnteredAlphaGradeName } } ; if (studentAverage.Comments != null) { res.Comments = studentAverage.Comments.Select(ChalkableStudentAverageComment.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, 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 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)); }
public StudentAverage UpdateStudentAverage(int sectionId, StudentAverage studentAverage) { var url = $"{BaseUrl}chalkable/sections/{sectionId}/averages/{studentAverage.AverageId}/students/{studentAverage.StudentId}"; return(Put(url, studentAverage)); }