コード例 #1
0
        private Task <IFileMetadata> UploadSingleFile(object userId, HttpPostedFileBase file)
        {
            if (userId == null)
            {
                throw new ArgumentNullException(nameof(userId));
            }

            if (file == null || file.ContentLength < 1)
            {
                throw new NullOrEmptyFileException();
            }

            var user = userId.ToString();

            var metadata = new FileMetadataModel
            {
                CreatedByUser  = user,
                ModifiedByUser = user,
                ContentLength  = file.ContentLength,
                ContentType    = file.ContentType,
                FileExtension  = Path.GetExtension(file.FileName).Trim('.'),
                FileName       = Path.GetFileNameWithoutExtension(file.FileName).Trim('.'),
            };

            string fullName = Path.Combine(
                this.Server.MapPath("~/App_Data/"),
                $"{metadata.FileName}-{Guid.NewGuid().ToString()}.{metadata.FileExtension}");

            metadata.FullName = fullName;

            return(this.filesDataService.Create(metadata, file.InputStream));
        }
コード例 #2
0
        public async Task AddAsync(FileMetadataModel fileMetadataModel)
        {
            var metadata = _mapper.Map <FileMetadata>(fileMetadataModel);
            await _fileMetadataRepository.AddAsync(metadata);

            await _uow.CommitAsync();
        }
コード例 #3
0
        private async Task DeleteFile(FileMetadataModel metadata)
        {
            await _fileMetadataService.RemoveAsync(metadata.Id);

            await _filesService.DeleteFileAsync(metadata.Path);

            LoggerExtensions.LogInfo($"File <{metadata.Path}> was removed");
        }
コード例 #4
0
        public async Task <IActionResult> CommitFile(
            Guid id,
            [FromBody] FileMetadataModel metadata)
        {
            await filesStorage.CommitBlocksAsync(id, metadata.ToStorage());

            return(CreatedAtAction(nameof(GetFile), new { id }, null));
        }
コード例 #5
0
        public async Task UpdateAsync(FileMetadataModel fileMetadataModel)
        {
            var metadata = _mapper.Map <FileMetadata>(fileMetadataModel);
            await _fileMetadataRepository.UpdateAsync(metadata);

            await _uow.CommitAsync();

            _uow.DetachAllEntities();
        }
コード例 #6
0
        public bool WasFileProcessed(int exhibitId, int partitionMetadata, FileMetadataModel details)
        {
            var fileMetadataRow = FileMetadata.GetFileMetadata_FilePath(exhibitId, partitionMetadata, details.FilePath);

            if (fileMetadataRow == null)
            {
                return(false);
            }

            return(details.Equals(fileMetadataRow));
        }
コード例 #7
0
        public FileMetadataModel PopulateExpectedFileDetailsDictionary(CsvFileReader csvReader, int rowNumber)
        {
            var expectedDetails = new FileMetadataModel
            {
                FileName         = csvReader.GetStringValue(rowNumber, FileNameColumnNumberInCsvFile),
                FilePath         = csvReader.GetStringValue(rowNumber, FilePathColumnNumberInCsvFile),
                CreatedDate      = csvReader.GetDateTimeValue(rowNumber, CreatedDateColumnNumberInCsvFile),
                LastAccessedDate = csvReader.GetDateTimeValue(rowNumber, LastAccessedDateColumnNumberInCsvFile),
                LastModifiedDate = csvReader.GetDateTimeValue(rowNumber, LastModifiedColumnNumberInCsvFile),
                FileTypeId       = csvReader.GetIntValue(rowNumber, FileTypeColumnNumberInCsvFile),
                FileExtension    = csvReader.GetStringValue(rowNumber, FileExtensionColumnNumberInCsvFile),
                FileSize         = long.Parse(csvReader.GetStringValue(rowNumber, FileSizeColumnNumberInCsvFile))
            };

            return(expectedDetails);
        }
コード例 #8
0
 public void AddNotFoundFileDetailsToDictionary(IList <FileMetadataModel> resultList, FileMetadataModel detailsToAdd)
 {
     if (resultList.SingleOrDefault(item => item.FilePath.Equals(detailsToAdd.FilePath)) == null)
     {
         resultList.Add(detailsToAdd);
     }
 }