public async Task <Unit> Handle(DeleteFileEntryCommand request, CancellationToken cancellationToken) { FileEntry fileEntry = await _dbContext.FileEntries.FindAsync(new object[] { request.Id.Value }, cancellationToken); if (fileEntry == null) { throw new Exception(); } FileInfo fi = new FileInfo(fileEntry.Path); string path = "/mnt/share"; if (fi.Exists && fi.Directory.FullName.Equals(path)) { fi.Delete(); } _dbContext.FileEntries.Remove(fileEntry); await _dbContext.SaveChangesAsync(cancellationToken); _jobClient.Delete(fileEntry.GenerateSchemaJobId); return(Unit.Value); }
public async Task <Unit> Handle(SetFileEntryJobIdCommand request, CancellationToken cancellationToken) { FileEntry fileEntry = await _dbContext.FileEntries.FindAsync(new object[] { request.Id.Value }, cancellationToken); if (fileEntry == null) { throw new Exception(); } fileEntry.GenerateSchemaJobId = request.JobId; await _dbContext.SaveChangesAsync(cancellationToken); return(Unit.Value); }
public async Task <Guid> Handle(CreateFileEntryCommand request, CancellationToken cancellationToken) { FileEntry fileEntry = new FileEntry() { Name = request.Name, Length = request.Length, Path = request.Path, GenerateSchemaJobId = request.GenerateSchemaJobId, }; await _dbContext.FileEntries.AddAsync(fileEntry); await _dbContext.SaveChangesAsync(cancellationToken); Guid id = fileEntry.Id.Value; // todo return(id); }
public async Task <Unit> Handle(UpdateFileEntryCommand request, CancellationToken cancellationToken) { FileEntry fileEntry = await _dbContext.FileEntries.FindAsync(new object[] { request.Id.Value }, cancellationToken); if (fileEntry == null) { throw new Exception(); } fileEntry.Name = request.Name; fileEntry.Length = request.Length; fileEntry.Path = request.Path; fileEntry.Schema = request.Schema; fileEntry.GenerateSchemaJobId = request.GenerateSchemaJobId; fileEntry.GenerateSchemaWorker = request.GenerateSchemaWorker; await _dbContext.SaveChangesAsync(cancellationToken); return(Unit.Value); }