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