public async Task <OperationDetailDTO> UpdateRepositoryAsync(RepositoryCreateModelDTO dto) { var detail = new OperationDetailDTO(); if (dto != null) { var repoEntity = await _context.RepositoryModels .FindAsync(dto.Id); if (repoEntity == null) { detail.ErrorMessages.Add("Репозиторий не найден."); return(detail); } repoEntity.ContentText = dto.ContentText; repoEntity.Name = dto.Name; _context.RepositoryModels.Update(repoEntity); await _context.SaveChangesAsync(); detail.Succeeded = true; } else { detail.ErrorMessages.Add("Объекта параметра репозитория был равен null"); } return(detail); }
// test // add try - catch public async Task <OperationDetailDTO <string> > CreateNewRepositoryAsync(RepositoryCreateModelDTO dto = null) { var detail = new OperationDetailDTO <string>(); if (dto != null) { var currentUserEntity = await GetUserFromClaimsAsync(); var teacherEntity = await _context.Teachers .Where(t => t.UserId == currentUserEntity.Id) .FirstOrDefaultAsync(); var subject = await _context.Subjects.FindAsync(dto.SubjectId); if (subject != null) { var repositoryEntity = RepositoryCreateModelDTO.Map(dto); repositoryEntity.Teacher = teacherEntity; repositoryEntity.Subject = subject; await _context.RepositoryModels.AddAsync(repositoryEntity); await _context.SaveChangesAsync(); var createdRepo = await _context.RepositoryModels.FirstOrDefaultAsync(r => r == repositoryEntity); // by id ? if (createdRepo != null) { detail.Data = createdRepo.Id.ToString(); detail.Succeeded = true; } else { detail.ErrorMessages.Add("Не удалось получить созданный репозиторий"); } } else { detail.ErrorMessages.Add("Параметр учебного предмета создаваемого репозитория был равен NULL"); } return(detail); } else { detail.ErrorMessages.Add("Входные данные создаваемого репозитория равны NULL"); return(detail); } }
public async Task <IActionResult> UpdateRepoAsync([FromBody] RepositoryCreateModelDTO dto) { var res = await _teacherService.UpdateRepositoryAsync(dto); return(Ok(res)); }