public IHttpActionResult AddSubjectMarksforStudents([FromBody] SubjectMarkDto dto) { var result = _subjectMarkService.Add(dto); if (result == false) { return(BadRequest()); } return(Ok()); }
public bool Add(SubjectMarkDto dto) { if (dto == null) { return(false); } if (dto.Marks == null) { return(false); } if (CheckEndMarkFromDto(dto) == false) { return(false); } try { var subjectMarks = new List <SubjectMark>(); foreach (MarkDto mark in dto.Marks) { if (mark.TypeMarkId == 4) { if (CheckEndMarkFromDb(mark.StudentId, dto.SubjectId) == true) { return(false); } } var subjectMark = new SubjectMark() { SubjectId = dto.SubjectId, SemesterId = dto.SemesterId, StudentId = mark.StudentId, TypeMarkId = mark.TypeMarkId, Mark = mark.Mark }; subjectMarks.Add(subjectMark); } db.SubjectMarks.AddRange(subjectMarks); db.SaveChanges(); } catch { return(false); } return(true); }
private bool CheckEndMarkFromDto(SubjectMarkDto dto) { var EndMarks = dto.Marks.Where(x => x.TypeMarkId == 4); var dupes = EndMarks.GroupBy(x => new { x.TypeMarkId, x.StudentId }) .Where(x => x.Skip(1).Any()).ToArray(); if (dupes.Length == 0) { return(true); } return(false); }