Exemplo n.º 1
0
        public bool TryWritePackage(ValuesPackage aPackage)
        {
            if (aPackage == null) {
                logger.Info("Параметр aPackage равен null.");
                return false;
            }

            return TryWritePackages(new [] {aPackage});
        }
Exemplo n.º 2
0
        public bool TryWritePackage(ValuesPackage aPackage)
        {
            if (aPackage == null)
            {
                logger.Info("Параметр aPackage равен null.");
                return(false);
            }

            return(TryWritePackages(new [] { aPackage }));
        }
Exemplo n.º 3
0
        public void AddValues(ValuesPackage aPackage)
        {
            if (aPackage == null) {
                throw new ArgumentNullException("aPackage");
            }

            lock (packages) {
                if (packages.Count < MAX_SIZE) {
                    packages.Add(aPackage);
                }
                else {
                    logger.Error("Превышено максимальное число записей в буфере.");
                }
            }
        }
Exemplo n.º 4
0
        public void AddValues(ValuesPackage aPackage)
        {
            if (aPackage == null)
            {
                throw new ArgumentNullException("aPackage");
            }

            lock (packages) {
                if (packages.Count < MAX_SIZE)
                {
                    packages.Add(aPackage);
                }
                else
                {
                    logger.Error("Превышено максимальное число записей в буфере.");
                }
            }
        }
Exemplo n.º 5
0
        public bool TryWritePackages(ValuesPackage[] aPackages)
        {
            if (aPackages == null) {
                logger.Info("Параметр aPackages равен null.");
                return false;
            }

            try {
                var connection = oracleConnection.WaitConnection();
                using (var transaction = connection.BeginTransaction())
                using (var command = new OracleCommand(configuration.InsertQuery)) {
                    command.Connection = connection;
                    command.Transaction = transaction;
                    command.Parameters.Add(DATA_TIME, OracleDbType.Date);
                    command.Parameters.Add(LINE_ID, OracleDbType.Int32);
                    foreach (var parameter in configuration.Parameters) {
                        command.Parameters.Add(parameter, OracleDbType.Double);
                    }

                    foreach (var valuesPackage in aPackages) {
                        command.Parameters[DATA_TIME].Value = valuesPackage.Time;
                        command.Parameters[LINE_ID].Value = valuesPackage.LineId;
                        foreach (var parametrValue in valuesPackage.Parameters) {
                            command.Parameters[parametrValue.Name].Value = parametrValue.Value;
                        }

                        command.ExecuteNonQuery();
                    }

                    transaction.Commit();
                    return true;
                }
            }
            catch (Exception ex) {
                logger.Error("Ошибка при сохранении данных в ИТС: " + ex.Message);
                return false;
            }
            finally {
                oracleConnection.ReleaseConnection();
            }
        }
Exemplo n.º 6
0
        private bool TryGetValuesPackages(LineConfiguration aLineConfiguration, out ValuesPackage aPackage)
        {
            aPackage        = new ValuesPackage();
            aPackage.LineId = aLineConfiguration.Id;
            try {
                var parameters = new List <ValueParameter>();
                foreach (var queryParameter in aLineConfiguration.Parameters)
                {
                    var parameterValue = kppConnector.GetValue(queryParameter);
                    parameters.Add(parameterValue);
                }

                aPackage.Parameters = parameters.ToArray();
            }
            catch (Exception ex) {
                logger.Error("Ошибка при получении данных: " + ex.Message);
                aPackage = null;
                return(false);
            }

            return(true);
        }