Beispiel #1
0
        /// <summary>
        /// Помещает логи в MongoDB.
        /// </summary>
        /// <param name="logs">Коллекция с логами.</param>
        public void InsertLog(List <Log> logs)
        {
            if (CheckMongoConnection().Result)
            {
                if (logs.Count <= 0)
                {
                    return;
                }
                var logCollection = _database.GetCollection <BsonDocument>("logCollection");

                var bsonLogs = logs.Select(log => new BsonDocument
                {
                    { "Date", log.Date },
                    { "Message", log.Message },
                    { "LogType", log.LogType }
                }).ToList();

                logCollection.InsertMany(bsonLogs);
            }
            else
            {
                Console.Error.WriteLineAsync(@"Не удалось вставить лог! Отсутствует подключение к серверу MongoDb!");
                LogViewModel.AddNewLog("Не удалось подключиться к серверу MongoDb! Сохранение логов не производится!", DateTime.Now, LogType.Error);
            }
        }
Beispiel #2
0
 /// <summary>
 /// Смена базы данных MongoDB.
 /// </summary>
 /// <param name="databaseName">Название базы данных в сервере MongoDB.</param>
 public void ChooseDatabase(string databaseName)
 {
     if (CheckMongoConnection().Result)
     {
         _database = _client.GetDatabase(databaseName);
     }
     else
     {
         LogViewModel.AddNewLog("Не удалось подключиться к серверу MongoDb! Не удалось выбрать БД!", DateTime.Now, LogType.Error);
     }
 }
Beispiel #3
0
        /// <summary>
        /// Асинхронно получает все логи из MongoDB.
        /// </summary>
        /// <returns>Коллекция с логами приложения за все время.</returns>
        public async Task <List <Log> > GetAllLogsAsync()
        {
            if (await CheckMongoConnection())
            {
                var logCollection = _database.GetCollection <Log>("logCollection");

                var logsFromDb = await logCollection.FindAsync(new BsonDocument());

                return(logsFromDb.ToList());
            }
            LogViewModel.AddNewLog("Не удалось подключиться к серверу MongoDb! Не удалось извлечь логи!", DateTime.Now, LogType.Error);
            return(null);
        }
Beispiel #4
0
 /// <summary>
 /// Вставляет документ в MongoDB.
 /// </summary>
 /// <param name="document">Документ типа Document.</param>
 public void InsertDocument(Document document)
 {
     if (document != null)
     {
         InsertFileData(document.DocumentName, document.DocumentPath, document.DocumentType);
         InsertDocumentData(document.DocumentHash, document.DocumentAuthor, document.DocumentAuthorGroup,
                            document.DocumentTfVector, document.AddTime, document.DocumentTokens);
         UpdateOrInsertIdfVector(DocumentActions.MakeIdfVector(document.DocumentTfVector));
         LogViewModel.AddNewLog("Документ " + document.DocumentName + " добавлен!", DateTime.Now);
     }
     else
     {
         LogViewModel.AddNewLog("Документ не был передан для вставки!", DateTime.Now, LogType.Error);
     }
 }