Newer
Older
RbFreqStand / RbFreqStandMeasure / R_DataBase / Service / Impl / DetectionItemServiceImpl.cs
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.Reflection;

namespace Casic.Birmm.RbFreqStandMeasure.R_DataBase.Service.Impl
{

    class DetectionItemServiceImpl : DetectionItemService
    {
        public int add(int deviceId, DateTime startTime, DateTime endTime, int stability, int accuracy, int bootFeature, int ageRate, String interval)
        {
            int iRetval = -1;
            try
            {
                if (DbConnectService.mySqlConnect.State == ConnectionState.Closed)
                {
                    LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "addDetectionItem : 数据库链接断开");
                    return iRetval;
                }

                string sQry = "INSERT INTO r_detection_item (DEVICE_ID,START_TIME,END_TIME,STABILITY,ACCURACY,BOOT_FEATURE,AGE_RATE,INTERVAL)" +
                    "values(@DEVICE_ID,@START_TIME,@END_TIME,@STABILITY,@ACCURACY,@BOOT_FEATURE,@AGE_RATE,@INTERVAL)";

                MySqlCommand cmd = new MySqlCommand(sQry, DbConnectService.mySqlConnect);
                cmd.Parameters.Add("@DEVICE_ID", MySqlDbType.Int64, 20).Value = deviceId;
                cmd.Parameters.Add("@START_TIME", MySqlDbType.DateTime, 0).Value = startTime;
                cmd.Parameters.Add("@END_TIME", MySqlDbType.DateTime, 0).Value = endTime;
                cmd.Parameters.Add("@STABILITY", MySqlDbType.Int64, 10).Value = stability;
                cmd.Parameters.Add("@ACCURACY", MySqlDbType.Int64, 10).Value = accuracy;
                cmd.Parameters.Add("@BOOT_FEATURE", MySqlDbType.Int64, 10).Value = bootFeature;
                cmd.Parameters.Add("@AGE_RATE", MySqlDbType.Int64, 10).Value = ageRate;
                cmd.Parameters.Add("@INTERVAL", MySqlDbType.String, 30).Value = interval;

                cmd.ExecuteNonQuery();

                cmd.Dispose();
                iRetval = 0;
            }
            catch (MySqlException e)
            {
                LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "addDetectionItem: " + e.Message);
                iRetval = -1;
            }
            return iRetval;
        }

        public int update(int deviceId, DateTime startTime, DateTime endTime, int stability, int accuracy, int bootFeature, int ageRate, String interval)
        {
            int iRetval = -1;
            try
            {
                if (DbConnectService.mySqlConnect.State == ConnectionState.Closed)
                {
                    LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "updateDetectionItem : 数据库链接断开");
                    return iRetval;
                }

                string sQry = "UPDATE r_detection_item  SET (START_TIME,END_TIME,STABILITY,ACCURACY,BOOT_FEATURE,AGE_RATE,INTERVAL)" +
                    "values (@START_TIME,@END_TIME,@STABILITY,@ACCURACY,@BOOT_FEATURE,@AGE_RATE,@INTERVAL) WHERE DEVICE_ID = " + deviceId;

                MySqlCommand cmd = new MySqlCommand(sQry, DbConnectService.mySqlConnect);
                cmd.Parameters.Add("@START_TIME", MySqlDbType.DateTime, 0).Value = startTime;
                cmd.Parameters.Add("@END_TIME", MySqlDbType.DateTime, 0).Value = endTime;
                cmd.Parameters.Add("@STABILITY", MySqlDbType.Int64, 10).Value = stability;
                cmd.Parameters.Add("@ACCURACY", MySqlDbType.Int64, 10).Value = accuracy;
                cmd.Parameters.Add("@BOOT_FEATURE", MySqlDbType.Int64, 10).Value = bootFeature;
                cmd.Parameters.Add("@AGE_RATE", MySqlDbType.Int64, 10).Value = ageRate;
                cmd.Parameters.Add("@INTERVAL", MySqlDbType.String, 30).Value = interval;

                cmd.ExecuteNonQuery();

                cmd.Dispose();
                iRetval = 0;
            }
            catch (MySqlException e)
            {
                LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "updateDetectionItem: " + e.Message);
                iRetval = -1;
            }
            return iRetval;
        }

        public List<DetectionItem> serach(int deviceId)
        {
            List<DetectionItem> detectionItemList = new List<DetectionItem>();
            try
            {
                if (DbConnectService.mySqlConnect.State == ConnectionState.Closed)
                {
                    LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "searchDetectionItem : 数据库链接断开");
                    return null;
                }

                string sQry = "SELECT * FROM r_detection_item where DEVICE_ID = " + deviceId;
                MySqlCommand aCommand = new MySqlCommand(sQry, DbConnectService.mySqlConnect);

                using (MySqlDataReader aReader = aCommand.ExecuteReader())
                {
                    while (aReader.Read())
                    {
                        DetectionItem detectionItem = new DetectionItem();
                        //姓名
                        if (!aReader.IsDBNull(0)) detectionItem.Id=Convert.ToInt32(aReader.GetString(0));
                        if (!aReader.IsDBNull(1)) detectionItem.DeviceId = Convert.ToInt32(aReader.GetString(1));
                        if (!aReader.IsDBNull(2)) detectionItem.StartTime = Convert.ToDateTime(aReader.GetString(2));
                        if (!aReader.IsDBNull(3)) detectionItem.EndTime = Convert.ToDateTime(aReader.GetString(3));
                        if (!aReader.IsDBNull(4)) detectionItem.Stability = Convert.ToInt32(aReader.GetString(4));
                        if (!aReader.IsDBNull(5)) detectionItem.Accuracy = Convert.ToInt32(aReader.GetString(5));
                        if (!aReader.IsDBNull(6)) detectionItem.BootFeature = Convert.ToInt32(aReader.GetString(6));
                        if (!aReader.IsDBNull(7)) detectionItem.AgeRate = Convert.ToInt32(aReader.GetString(7));
                        if (!aReader.IsDBNull(8)) detectionItem.Interval = aReader.GetString(8);
                        detectionItemList.Add(detectionItem);
                    }

                    aCommand.Dispose();
                }
            }
            catch (MySqlException ex)
            {
                LogHelper.WriteErrorLog(MethodBase.GetCurrentMethod().DeclaringType, "searchDetectionItem: " + ex.Message);
                detectionItemList = null;
            }
            return detectionItemList;
        }

    }
}