public void AddCorpus(string corpus_caption, string txt_files, CorpusFormat.CorpusFormatDecriptor corpus_format, bool do_index) { if (string.IsNullOrEmpty(corpus_caption)) { throw new ArgumentException("corpus_caption"); } if (string.IsNullOrEmpty(txt_files)) { throw new ArgumentException("txt_files"); } if (corpus_format == null) { throw new ArgumentNullException("corpus_format"); } log4net.ILog log = log4net.LogManager.GetLogger(typeof(Corpora_ViewModel)); log.InfoFormat("{0} corpus_caption={1} txt_files={1} format={2} do_index={3}", nameof(AddCorpus), corpus_caption, txt_files, corpus_format, do_index); //db_session.Clear(); try { using (var db_session = session_factory.OpenSession()) { using (var tx = db_session.BeginTransaction()) { DbObjectMappings.CorpusInfo new_corpus = new DbObjectMappings.CorpusInfo(); new_corpus.Caption = corpus_caption; new_corpus.TxtFilesPath = txt_files; new_corpus.CorpusFormat = corpus_format.ToJSON(); db_session.Save(new_corpus); tx.Commit(); log.Info("tx.Commit OK"); corpus_infos.Add(new_corpus); SelectedCorpus = new_corpus; } } } catch (Exception ex) { log.Error(ex); } return; }
private string GetIndexFolder(DbObjectMappings.CorpusInfo corpus) { Contract.Requires(!string.IsNullOrEmpty(indexes_folder)); return(System.IO.Path.Combine(indexes_folder, corpus.Id.ToString())); }