public async Task <Result <UpdateStudentsForStudentGroup> > UpdateStudentsForStudentGroupAsync(long id, UpdateStudentsForStudentGroup studentGroupModel) { try { if (studentGroupModel == null) { return(Result <UpdateStudentsForStudentGroup> .Error(ErrorCode.ValidationError, "UpdateStudentGroupDto is null")); } var updatedEntity = _mapper.Map <StudentGroup>(studentGroupModel); var foundStudentGroup = await _unitOfWork.StudentGroupRepository.GetByIdAsync(id); if (foundStudentGroup == null) { return(null); } var newStudentsOfStudentGroup = updatedEntity.StudentsOfStudentGroups.Select(x => new StudentOfStudentGroup { StudentGroupId = foundStudentGroup.Id, StudentId = x.StudentId }).ToList(); _unitOfWork.StudentGroupRepository.UpdateManyToMany(foundStudentGroup.StudentsOfStudentGroups, newStudentsOfStudentGroup); await _unitOfWork.CommitAsync(); return(Result <UpdateStudentsForStudentGroup> .Success(_mapper.Map <UpdateStudentsForStudentGroup>(updatedEntity))); } catch { _unitOfWork.Rollback(); return(Result <UpdateStudentsForStudentGroup> .Error(ErrorCode.InternalServerError, "Internal error")); } }
public async Task <ActionResult <UpdateStudentsForStudentGroup> > PutStudentsOfStudentGroup(long id, UpdateStudentsForStudentGroup studentGroupDto) { var updatedStudentGroup = await _studentGroupService .UpdateStudentsForStudentGroupAsync(id, studentGroupDto); return(updatedStudentGroup.ToActionResult()); }