コード例 #1
0
        public async Task <CorpusDto> CreateFromZIP_Async(IFormFile zipFile)
        {
            var zipArchive = _archivesService.GetZipArchiveFromIFormFile(zipFile);

            if (zipArchive == null)
            {
                return(null);
            }

            CorpusDto corpusDto = new CorpusDto();
            var       CCLs      = new List <string>();

            foreach (var e in zipArchive.Entries)
            {
                var ccl = await _clarinService.GetCCLStringFromZipArchiveEntry(e);

                CCLs.Add(ccl);
                var chunkListDto = ParseCCLStringToChunkListDto(ccl);
                chunkListDto._chunkListMetaData.OriginFileName = e.Name;
                corpusDto.ChunkLists.Add(chunkListDto);
            }

            corpusDto.CorpusMetaData = new CorpusMetaDataDto(corpusDto, zipFile.FileName, "anybody");

            // database changes
            Corpus corpus = _mapper.Map <CorpusDto, Corpus>(corpusDto);

            _corpusesRepository.CreateCorpus(corpus);
            _corpusesRepository.SaveChanges();
            corpusDto.Id = corpus.Id;

            return(corpusDto);
        }
コード例 #2
0
 public CorpusMetaDataDto(CorpusDto corpus, string originFileName, string createdBy)
 {
     NumberOfProcessedFiles = corpus.ChunkLists.Count;
     CreatedAt      = DateTime.Now;
     CreatedBy      = createdBy;
     OriginFileName = originFileName;
 }