public async Task <ActionResult> CancelFileView([FromBody] ViewFileDto fileDto) { if (!IsAvailableOperation()) { return(BadRequest()); } await _fileStorageService.CancelFileView(fileDto, UserId, ClientId); return(Ok()); }
public async Task ViewFile(ViewFileDto fileDto, int userId, int clientId) { var fileStorageRepository = DataContextManager.CreateRepository <IFileStorageRepository>(); var file = await fileStorageRepository.GetById(fileDto.Id, userId, clientId); if (file == null) { throw new NotFoundException("File storage", fileDto.Id); } file.FileViewings.Add(new FileViewing { IsActive = true, ViewById = userId, ViewDate = DateTime.UtcNow }); await fileStorageRepository.Update(file); }
public async Task CancelFileView(ViewFileDto fileDto, int userId, int clientId) { var fileStorageRepository = DataContextManager.CreateRepository <IFileStorageRepository>(); var file = await fileStorageRepository.GetById(fileDto.Id, userId, clientId); if (file == null) { throw new NotFoundException("File storage", fileDto.Id); } var viewing = file.FileViewings.FirstOrDefault(x => x.IsActive && x.ViewById == userId); if (viewing == null) { throw new NotFoundException("File viewing for file", fileDto.Id); } viewing.IsActive = false; await fileStorageRepository.Update(file); }