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); }
public CorpusMetaDataDto(CorpusDto corpus, string originFileName, string createdBy) { NumberOfProcessedFiles = corpus.ChunkLists.Count; CreatedAt = DateTime.Now; CreatedBy = createdBy; OriginFileName = originFileName; }