Exemple #1
0
        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);
            }
        }
Exemple #4
0
        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);
 }