Exemplo n.º 1
0
        /// <summary>
        /// Method to save trend alarm information
        /// </summary>
        /// <param name="alarms">alarms</param>
        public void SaveTrendAlarms(List <TrendAlarmInfo> alarms)
        {
            using (var conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction)) {
                conn.Open();
                using (var trans = conn.BeginTransaction(IsolationLevel.ReadCommitted)) {
                    try {
                        SqlParameter[] parms = { new SqlParameter("@LscID",                 SqlDbType.Int),
                                                 new SqlParameter("@Area1Name",             SqlDbType.NVarChar,   50),
                                                 new SqlParameter("@Area2Name",             SqlDbType.NVarChar,   50),
                                                 new SqlParameter("@Area3Name",             SqlDbType.NVarChar,   50),
                                                 new SqlParameter("@Area4Name",             SqlDbType.NVarChar,   50),
                                                 new SqlParameter("@StaName",               SqlDbType.NVarChar,  100),
                                                 new SqlParameter("@DevName",               SqlDbType.NVarChar,  100),
                                                 new SqlParameter("@NodeID",                SqlDbType.Int),
                                                 new SqlParameter("@NodeType",              SqlDbType.Int),
                                                 new SqlParameter("@NodeName",              SqlDbType.NVarChar,   50),
                                                 new SqlParameter("@AlarmType",             SqlDbType.NVarChar,   20),
                                                 new SqlParameter("@AlarmStatus",           SqlDbType.Int),
                                                 new SqlParameter("@AlarmLevel",            SqlDbType.Int),
                                                 new SqlParameter("@StartValue",            SqlDbType.Real),
                                                 new SqlParameter("@AlarmValue",            SqlDbType.Real),
                                                 new SqlParameter("@DiffValue",             SqlDbType.Real),
                                                 new SqlParameter("@StartTime",             SqlDbType.DateTime),
                                                 new SqlParameter("@AlarmTime",             SqlDbType.DateTime),
                                                 new SqlParameter("@EventTime",             SqlDbType.DateTime),
                                                 new SqlParameter("@ConfirmName",           SqlDbType.NVarChar,   20),
                                                 new SqlParameter("@ConfirmTime",           SqlDbType.DateTime),
                                                 new SqlParameter("@EndName",               SqlDbType.NVarChar,   20),
                                                 new SqlParameter("@EndTime",               SqlDbType.DateTime),
                                                 new SqlParameter("@StartIsAddAlarmList",   SqlDbType.Bit),
                                                 new SqlParameter("@EndIsAddAlarmList",     SqlDbType.Bit),
                                                 new SqlParameter("@ConfirmIsAddAlarmList", SqlDbType.Bit) };

                        foreach (var alarm in alarms)
                        {
                            parms[0].Value  = alarm.LscID;
                            parms[1].Value  = ComUtility.DBNullStringChecker(alarm.Area1Name);
                            parms[2].Value  = ComUtility.DBNullStringChecker(alarm.Area2Name);
                            parms[3].Value  = ComUtility.DBNullStringChecker(alarm.Area3Name);
                            parms[4].Value  = ComUtility.DBNullStringChecker(alarm.Area4Name);
                            parms[5].Value  = ComUtility.DBNullStringChecker(alarm.StaName);
                            parms[6].Value  = ComUtility.DBNullStringChecker(alarm.DevName);
                            parms[7].Value  = alarm.NodeID;
                            parms[8].Value  = alarm.NodeType;
                            parms[9].Value  = ComUtility.DBNullStringChecker(alarm.NodeName);
                            parms[10].Value = ComUtility.DBNullStringChecker(alarm.AlarmType);
                            parms[11].Value = ComUtility.DBNullInt32Checker(alarm.AlarmStatus);
                            parms[12].Value = ComUtility.DBNullInt32Checker(alarm.AlarmLevel);
                            parms[13].Value = ComUtility.DBNullFloatHandler(alarm.StartValue);
                            parms[14].Value = ComUtility.DBNullFloatHandler(alarm.AlarmValue);
                            parms[15].Value = ComUtility.DBNullFloatHandler(alarm.DiffValue);
                            parms[16].Value = ComUtility.DBNullDateTimeChecker(alarm.StartTime);
                            parms[17].Value = ComUtility.DBNullDateTimeChecker(alarm.AlarmTime);
                            parms[18].Value = ComUtility.DBNullDateTimeChecker(alarm.EventTime);
                            parms[19].Value = ComUtility.DBNullStringChecker(alarm.ConfirmName);
                            parms[20].Value = ComUtility.DBNullDateTimeChecker(alarm.ConfirmTime);
                            parms[21].Value = ComUtility.DBNullStringChecker(alarm.EndName);
                            parms[22].Value = ComUtility.DBNullDateTimeChecker(alarm.EndTime);
                            parms[23].Value = alarm.StartIsAddAlarmList;
                            parms[24].Value = alarm.EndIsAddAlarmList;
                            parms[25].Value = alarm.ConfirmIsAddAlarmList;

                            SqlHelper.ExecuteNonQuery(trans, CommandType.Text, SqlText.SQL_INSERT_ALARM_SAVETRENDALARMS, parms);
                        }

                        trans.Commit();
                    } catch {
                        trans.Rollback();
                        throw;
                    }
                }
            }
        }