Newer
Older
RbFreqStand / RbFreqStandMeasure / R_DataBase / Service / Impl / CounterParamServiceImpl.cs
yangqianqian on 24 May 2021 4 KB s
using Casic.Birmm.RbFreqStandMeasure.R_DataBase.Model;
using Casic.Birmm.RbFreqStandMeasure.Tools;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Text;

namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Service.Impl
{
    class CounterParamServiceImpl:CounterParamService
    {
        public int add(int deviceId, String baudRate, String generatorIp, String signalSourceIp)
        {
            int iRetval = -1;
            try
            {
                if (DbConnectService.mySqlConnect.State == ConnectionState.Closed)
                {
                    LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "addCounterParam : 数据库链接断开");
                    iRetval = DbConnectService.openDb();
                    if (iRetval != 0)
                    {
                        LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "重连失败!");
                        return iRetval;
                    }
                }

                string sQry = "INSERT INTO r_counter_param (DEVICE_ID,BAUD_RATE,GENERATOR_IP,SIGNAL_SOURCE_IP)" +
                    "values(@DEVICE_ID,@BAUD_RATE,@GENERATOR_IP,@SIGNAL_SOURCE_IP)";

                MySqlCommand cmd = new MySqlCommand(sQry, DbConnectService.mySqlConnect);
                cmd.Parameters.Add("@DEVICE_ID", MySqlDbType.Int64, 20).Value = deviceId;
                cmd.Parameters.Add("@BAUD_RATE", MySqlDbType.String, 255).Value = baudRate;
                cmd.Parameters.Add("@GENERATOR_IP", MySqlDbType.String, 0).Value = generatorIp;
                cmd.Parameters.Add("@SIGNAL_SOURCE_IP", MySqlDbType.String, 0).Value = signalSourceIp;

                cmd.ExecuteNonQuery();

                cmd.Dispose();

                iRetval = 0;
            }
            catch(MySqlException ex)
            {
                LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "addCounterParam : " + ex.Message);
                iRetval = -1;
            }

            return iRetval;
        }

        public CounterParam getCounterParamByDeviceId(int deviceId)
        {
            CounterParam counterParam = new CounterParam();

            try
            {
                if (DbConnectService.mySqlConnect.State == ConnectionState.Closed)
                {
                    LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "addCounterParam : 数据库链接断开");
                    int iRetval = DbConnectService.openDb();
                    if (iRetval != 0)
                    {
                        LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "重连失败!");
                        return null;
                    }
                }
                string sql = "SELECT * FROM r_counter_param where DEVICE_ID = " + deviceId;

                MySqlCommand cmd = new MySqlCommand(sql, DbConnectService.mySqlConnect);

                using (MySqlDataReader aReader = cmd.ExecuteReader())
                {
                    if (aReader != null)
                    {
                        if (aReader.Read())
                        {
                            //判断门的状态
                            if (!aReader.IsDBNull(0))
                                counterParam.Id = Convert.ToInt32(aReader.GetString(0));
                            if (!aReader.IsDBNull(1))
                                counterParam.DeviceId = Convert.ToInt32(aReader.GetString(1));
                            if (!aReader.IsDBNull(2))
                                counterParam.BaudRate = aReader.GetString(2);
                            if (!aReader.IsDBNull(3))
                                counterParam.GeneratorIp = aReader.GetString(3);
                            if (!aReader.IsDBNull(4))
                                counterParam.SignalSourceIp = aReader.GetString(4);
                        }
                    }
                    aReader.Close();
                }
                cmd.Dispose();

            }
            catch(MySqlException ex)
            {
                LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "addCounterParam : " + ex.Message);
                counterParam = null;
            }

            return counterParam;
        }

    }
}