Пример #1
0
        public IList <AgentInfo> GetAll()
        {
            using var connection = new SQLiteConnection(_connector.GetStringConnection());
            using var cmd        = new SQLiteCommand(connection);

            cmd.Connection.Open();
            cmd.CommandText = $"SELECT id, active, host FROM {Table};";
            cmd.Prepare();

            var returnList = new List <AgentInfo>();

            using (SQLiteDataReader reader = cmd.ExecuteReader())
            {
                while (reader.Read())
                {
                    returnList.Add(new AgentInfo()
                    {
                        Id     = reader.GetInt64(0),
                        Active = reader.GetBoolean(1),
                        Host   = reader.GetString(2)
                    });
                }
            }

            return(returnList);
        }
Пример #2
0
        /// <summary>
        /// Сохранение метрики в БД
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        protected void CreateMetric(T item)
        {
            using var connection = new SQLiteConnection(_connector.GetStringConnection());
            using var cmd        = new SQLiteCommand(connection);

            cmd.Connection.Open();
            cmd.CommandText = $"INSERT INTO {_tableName} (agentId, value, time) VALUES(@agent, @value, @time)";

            cmd.Parameters.AddWithValue("@value", item.Value);
            cmd.Parameters.AddWithValue("@agent", item.AgentId);
            cmd.Parameters.AddWithValue("@time", item.Time.ToUnixTimeSeconds());

            cmd.Prepare();
            cmd.ExecuteNonQuery();
        }
Пример #3
0
        public void Create(DotNetMetric item)
        {
            using var connection = new SQLiteConnection(_connector.GetStringConnection());
            // создаем команду
            using var cmd = new SQLiteCommand(connection);

            cmd.Connection.Open();
            // прописываем в команду SQL запрос на вставку данных
            cmd.CommandText = $"INSERT INTO {Table} (value, time) VALUES(@value, @time)";

            // добавляем параметры в запрос из нашего объекта
            cmd.Parameters.AddWithValue("@value", item.Value);

            // в таблице будем хранить время в секундах, потому преобразуем перед записью в секунды
            // через свойство
            cmd.Parameters.AddWithValue("@time", item.Time.ToUnixTimeSeconds());
            // подготовка команды к выполнению
            cmd.Prepare();

            // выполнение команды
            cmd.ExecuteNonQuery();
        }