public async Task <SessionMaterialResponse> AssignSessionMaterialAsync(int sessionId, SessionMaterial sessionMaterial) { try { var material = await _studyMaterialRepository.SaveAsync(sessionMaterial.StudyMaterial); await _unitOfWork.CompleteAsync(); await _sessionMaterialRepository.AssignSessionMaterial(sessionId, material.Id, sessionMaterial.TutorId); await _unitOfWork.CompleteAsync(); SessionMaterial result = await _sessionMaterialRepository.FindBySessionIdAndStudyMaterial(sessionId, material.Id); return(new SessionMaterialResponse(result)); } catch (Exception ex) { return(new SessionMaterialResponse ($"An error ocurred while assigning SessionMaterial to Session: {ex.Message}")); } }
public async Task UnassignStudyMaterial(int sessionId, int materialId) { SessionMaterial sessionMaterial = await FindBySessionIdAndStudyMaterial(sessionId, materialId); if (sessionMaterial != null) { Remove(sessionMaterial); } }
public async Task AssignSessionMaterial(int sessionId, int materialId) { SessionMaterial result = await FindBySessionIdAndStudyMaterial(sessionId, materialId); if (result == null) { result = new SessionMaterial { SessionId = sessionId, StudyMaterialId = materialId }; await AddAsync(result); } }
public async Task <SessionMaterialResponse> UnassignSessionMaterialAsync(int sessionId, int materialId) { try { SessionMaterial sessionMaterial = await _sessionMaterialRepository.FindBySessionIdAndStudyMaterial(sessionId, materialId); _sessionMaterialRepository.Remove(sessionMaterial); await _unitOfWork.CompleteAsync(); var material = await _studyMaterialRepository.FindById(materialId); _studyMaterialRepository.Remove(material); await _unitOfWork.CompleteAsync(); return(new SessionMaterialResponse(sessionMaterial)); } catch (Exception ex) { return(new SessionMaterialResponse ($"An error ocurred while assigning SessionMaterial from Session: {ex.Message}")); } }
public void Remove(SessionMaterial sessionMaterial) { _context.SessionMaterials.Remove(sessionMaterial); }
public async Task AddAsync(SessionMaterial sessionMaterial) { await _context.SessionMaterials.AddAsync(sessionMaterial); }