From b0c18d369abd06075c83759b0e19823c2a11d716 Mon Sep 17 00:00:00 2001
From: ulysseskao <ulysseskao@gmail.com>
Date: Fri, 29 Apr 2016 18:45:41 +0800
Subject: [PATCH] update for new model

---
 CCSTrace/CCS/Object/AlarmData.cs |  307 +++++++++++++++++++++++++--------------------------
 1 files changed, 151 insertions(+), 156 deletions(-)

diff --git a/CCSTrace/CCS/Object/AlarmData.cs b/CCSTrace/CCS/Object/AlarmData.cs
index 4b83425..24baee3 100644
--- a/CCSTrace/CCS/Object/AlarmData.cs
+++ b/CCSTrace/CCS/Object/AlarmData.cs
@@ -1,217 +1,212 @@
 using System;
-using System.Data;
-using System.Configuration;
-using System.Web;
-using System.Web.Security;
-using System.Web.UI;
-using System.Web.UI.HtmlControls;
-using System.Web.UI.WebControls;
-using System.Web.UI.WebControls.WebParts;
 
 using System.Collections;
 using System.Data.OracleClient;
 using System.Net;
 using System.Net.Sockets;
-using System.IO;
 
 namespace CCSTrace.CCS.Object
 {
     public class AlarmData
     {
-        private Hashtable m_TotalData = new Hashtable();
-        private RecordLog _PLog;
-        private OracleConnection _ConnectionTPC;
-        private OracleTransaction _Transaction;
+        private Hashtable _mTotalData = new Hashtable();
+        private RecordLog _pLog;
+        private OracleConnection _connectionTpc;
+        private OracleTransaction _transaction;
 
-        public AlarmData(OracleConnection _Conn,OracleTransaction _Trx, RecordLog _Log)
+        public AlarmData(OracleConnection conn, OracleTransaction trx, RecordLog log)
         {
-            _ConnectionTPC = _Conn;
-            _Transaction = _Trx;
-            _PLog = _Log;
+            _connectionTpc = conn;
+            _transaction = trx;
+            _pLog = log;
 
-            String SqlStmt;
+            string sqlStmt;
 
-            SqlStmt = "SELECT DEPTID,IP1,IP2,IP_PATROL FROM CCS.ALARM_IP";
-            OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
-            OracleDataReader reader = Command.ExecuteReader();
+            sqlStmt = "SELECT DEPTID,IP1,IP2,IP_PATROL FROM CCS.ALARM_IP";
+            OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+            OracleDataReader reader = command.ExecuteReader();
 
             try
             {
                 while (reader.Read())
                 {
-                    ArrayList Tmp = new ArrayList();
-                    Tmp.Add(Convert.ToInt32(reader["DEPTID"].ToString()));
-                    Tmp.Add(reader["IP1"].ToString());
-                    Tmp.Add(reader["IP2"].ToString());
-                    Tmp.Add(reader["IP_Patrol"].ToString());
+                    ArrayList tmp = new ArrayList();
+                    tmp.Add(Convert.ToInt32(reader["DEPTID"].ToString()));
+                    tmp.Add(reader["IP1"].ToString());
+                    tmp.Add(reader["IP2"].ToString());
+                    tmp.Add(reader["IP_Patrol"].ToString());
 
-                    m_TotalData.Add(Convert.ToInt32(reader["DeptID"].ToString()), Tmp);
+                    _mTotalData.Add(Convert.ToInt32(reader["DeptID"].ToString()), tmp);
                 }
             }
             catch (Exception e)
             {
-                _PLog.Error("Problems occur when fetch alarm data: (" + e.Message + ")");
+                _pLog.Error("Problems occur when fetch alarm data: (" + e.Message + ")");
                 Console.WriteLine(e.StackTrace);
             }
             finally
-            { 
+            {
                 reader.Close();
-                Command.Dispose();
+                command.Dispose();
             }
         }
 
-        private int getSSCCode(int m_SCCode, int m_Week) {
-            int ssccode = m_SCCode;
+        private int GetSscCode(int mScCode, int mWeek)
+        {
+            int ssccode = mScCode;
 
-/*            DateTime stime = DateTime.Now;
+            /*            DateTime stime = DateTime.Now;
 
-            DateTime endtime = DateTime.Now;
+                        DateTime endtime = DateTime.Now;
 
-            String SqlStmt = "select g.ssc_code as SSCCODE,t.begintime as BEGINTIME,t.endtime as ENDTIME,t.week as WEEK from ccs.scgroup g,ccs.scgrouptime t where g.groupid=t.groupid and g.sc_code="
-                    + m_SCCode + " and t.week=" + m_Week;
-            
-            try {
-                OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC);
-                OracleDataReader reader = Command.ExecuteReader();
-                
-                while (reader.Read())
-                {
-                    stime.set(Calendar.DAY_OF_WEEK, Rs.getInt("WEEK"));
-                    endtime.set(Calendar.DAY_OF_WEEK, Rs.getInt("WEEK"));
-                    stime.set(Calendar.HOUR_OF_DAY, Rs.getInt("BEGINTIME"));
-                    endtime.set(Calendar.HOUR_OF_DAY, Rs.getInt("ENDTIME"));
+                        String SqlStmt = "select g.ssc_code as SSCCODE,t.begintime as BEGINTIME,t.endtime as ENDTIME,t.week as WEEK from ccs.scgroup g,ccs.scgrouptime t where g.groupid=t.groupid and g.sc_code="
+                                + m_SCCode + " and t.week=" + m_Week;
 
-                    if (stime.after(endtime)) 
-                        endtime.roll(Calendar.DAY_OF_WEEK, 1);
-                    
-                    if (stime.before(nowtime) && (endtime.after(nowtime))) 
-                        ssccode = Rs.getInt("SSCCODE");
-                    
-                }
-                reader.Close();
-                Command.Dispose();
-            } catch (Exception ex) {
-                _PLog.warn("無法取得SSCCode,以該案件所屬SCCode代替: (" + ex.Message + ")");
-            }*/
+                        try {
+                            OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC);
+                            OracleDataReader reader = Command.ExecuteReader();
+
+                            while (reader.Read())
+                            {
+                                stime.set(Calendar.DAY_OF_WEEK, Rs.getInt("WEEK"));
+                                endtime.set(Calendar.DAY_OF_WEEK, Rs.getInt("WEEK"));
+                                stime.set(Calendar.HOUR_OF_DAY, Rs.getInt("BEGINTIME"));
+                                endtime.set(Calendar.HOUR_OF_DAY, Rs.getInt("ENDTIME"));
+
+                                if (stime.after(endtime))
+                                    endtime.roll(Calendar.DAY_OF_WEEK, 1);
+
+                                if (stime.before(nowtime) && (endtime.after(nowtime)))
+                                    ssccode = Rs.getInt("SSCCODE");
+                            }
+                            reader.Close();
+                            Command.Dispose();
+                        } catch (Exception ex) {
+                            _PLog.warn("無法取得SSCCode,以該案件所屬SCCode代替: (" + ex.Message + ")");
+                        }*/
             return ssccode;
         }
 
-        private ArrayList getIPAddress(int DeptCode) {
-            return (ArrayList) m_TotalData[Convert.ToInt32(DeptCode)];
+        private ArrayList GetIpAddress(int deptCode)
+        {
+            return (ArrayList)_mTotalData[Convert.ToInt32(deptCode)];
         }
 
-        public bool alarm(String AcceptNum, int Dept) 
+        public bool Alarm(string acceptNum, int dept)
         {
-            
-            _PLog.Info("開始Alarm...");
-            System.Net.Sockets.Socket m_Client;
-            ArrayList IPAddressSet = this.getIPAddress(this.getSSCCode(Dept, Convert.ToInt32(DateTime.Now.DayOfWeek)));
-            String IP1;
-            String IP2;
-            String IP_Patrol;
+            _pLog.Info("開始Alarm...");
+            Socket mClient;
+            ArrayList ipAddressSet = GetIpAddress(GetSscCode(dept, Convert.ToInt32(DateTime.Now.DayOfWeek)));
+            string ip1;
+            string ip2;
+            string ipPatrol;
             System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
 
-            if (IPAddressSet != null)
+            if (ipAddressSet != null)
             {
-                _PLog.Info("已取得該部門所需通知的IP Address.");
-                IP1 = IPAddressSet[1].ToString();
-                IP2 = IPAddressSet[2].ToString();
-                IP_Patrol = IPAddressSet[3].ToString();
-            } else {
-                _PLog.Warn("無法取得該部門所需通知的IP Address!");
+                _pLog.Info("已取得該部門所需通知的IP Address.");
+                ip1 = ipAddressSet[1].ToString();
+                ip2 = ipAddressSet[2].ToString();
+                ipPatrol = ipAddressSet[3].ToString();
+            }
+            else
+            {
+                _pLog.Warn("無法取得該部門所需通知的IP Address!");
                 return false;
             }
-
-            try {
-                IPAddress serverIp = IPAddress.Parse(IP1);
-                int serverPort = Convert.ToInt32(CCS.LocalVariable.AlermPort);
-                IPEndPoint iep = new IPEndPoint(serverIp, serverPort);
-
-                m_Client = new System.Net.Sockets.Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
-                m_Client.Connect(iep);
-
-                byte[] byteMessage = encoding.GetBytes(AcceptNum);
-
-                m_Client.Send(byteMessage);
-                m_Client.Shutdown(SocketShutdown.Both);
-                m_Client.Close();
-                this.recordAlarmIP(AcceptNum, IP1);
-                _PLog.Info("已成功通知" + IP1 + " !");
-                return true;
-
-            } catch (Exception e) {
-                _PLog.Warn("無法通知" + IP1 + ": " + e.Message);
-            }
-
-            try {
-                IPAddress serverIp = IPAddress.Parse(IP2);
-                int serverPort = Convert.ToInt32(CCS.LocalVariable.AlermPort);
-                IPEndPoint iep = new IPEndPoint(serverIp, serverPort);
-
-                m_Client = new System.Net.Sockets.Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
-                m_Client.Connect(iep);
-
-                byte[] byteMessage = encoding.GetBytes(AcceptNum);
-
-                m_Client.Send(byteMessage);
-                m_Client.Shutdown(SocketShutdown.Both);
-                m_Client.Close();
-                this.recordAlarmIP(AcceptNum, IP2);
-                _PLog.Info("已成功通知" + IP2 + " !");
-                return true;
-            }
-            catch (Exception e)
-            {
-                _PLog.Warn("無法通知" + IP2 + ": " + e.Message);
-            }
-
-            try {
-                IPAddress serverIp = IPAddress.Parse(IP_Patrol);
-                int serverPort = Convert.ToInt32(CCS.LocalVariable.AlermPort);
-                IPEndPoint iep = new IPEndPoint(serverIp, serverPort);
-
-                m_Client = new System.Net.Sockets.Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
-                m_Client.Connect(iep);
-
-                byte[] byteMessage = encoding.GetBytes(AcceptNum);
-
-                m_Client.Send(byteMessage);
-                m_Client.Shutdown(SocketShutdown.Both);
-                m_Client.Close();
-                this.recordAlarmIP(AcceptNum, IP_Patrol);
-                _PLog.Info("已成功通知" + IP_Patrol + " !");
-                return true;
-            }
-            catch (Exception e)
-            {
-                _PLog.Warn("無法通知" + IP_Patrol + ": " + e.Message);
-                _PLog.Warn("三個IP均無法通知到!");
-                return false;
-            }
-        }
-
-        private void recordAlarmIP(String AccNum, String IP) {
-            String SqlStmt = "insert into eos.case_dispatch (acceptnum,alarmip) values('" + AccNum + "','" + IP + "')";
-
-            OracleCommand Command = new OracleCommand(SqlStmt, _ConnectionTPC, _Transaction);
 
             try
             {
+                IPAddress serverIp = IPAddress.Parse(ip1);
+                int serverPort = Convert.ToInt32(GlobalVariable.AlermPort);
+                IPEndPoint iep = new IPEndPoint(serverIp, serverPort);
 
-                if (Command.ExecuteNonQuery() <= 0)
-                    _PLog.Warn("無法紀錄Alarm IP!");
+                mClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+                mClient.Connect(iep);
+
+                byte[] byteMessage = encoding.GetBytes(acceptNum);
+
+                mClient.Send(byteMessage);
+                mClient.Shutdown(SocketShutdown.Both);
+                mClient.Close();
+                RecordAlarmIp(acceptNum, ip1);
+                _pLog.Info("已成功通知" + ip1 + " !");
+                return true;
             }
             catch (Exception e)
             {
-                _PLog.Error("recordAlarmIP Error." + e.Message);
+                _pLog.Warn("無法通知" + ip1 + ": " + e.Message);
+            }
+
+            try
+            {
+                IPAddress serverIp = IPAddress.Parse(ip2);
+                int serverPort = Convert.ToInt32(GlobalVariable.AlermPort);
+                IPEndPoint iep = new IPEndPoint(serverIp, serverPort);
+
+                mClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+                mClient.Connect(iep);
+
+                byte[] byteMessage = encoding.GetBytes(acceptNum);
+
+                mClient.Send(byteMessage);
+                mClient.Shutdown(SocketShutdown.Both);
+                mClient.Close();
+                RecordAlarmIp(acceptNum, ip2);
+                _pLog.Info("已成功通知" + ip2 + " !");
+                return true;
+            }
+            catch (Exception e)
+            {
+                _pLog.Warn("無法通知" + ip2 + ": " + e.Message);
+            }
+
+            try
+            {
+                IPAddress serverIp = IPAddress.Parse(ipPatrol);
+                int serverPort = Convert.ToInt32(GlobalVariable.AlermPort);
+                IPEndPoint iep = new IPEndPoint(serverIp, serverPort);
+
+                mClient = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+                mClient.Connect(iep);
+
+                byte[] byteMessage = encoding.GetBytes(acceptNum);
+
+                mClient.Send(byteMessage);
+                mClient.Shutdown(SocketShutdown.Both);
+                mClient.Close();
+                RecordAlarmIp(acceptNum, ipPatrol);
+                _pLog.Info("已成功通知" + ipPatrol + " !");
+                return true;
+            }
+            catch (Exception e)
+            {
+                _pLog.Warn("無法通知" + ipPatrol + ": " + e.Message);
+                _pLog.Warn("三個IP均無法通知到!");
+                return false;
+            }
+        }
+
+        private void RecordAlarmIp(string accNum, string ip)
+        {
+            string sqlStmt = "insert into eos.case_dispatch (acceptnum,alarmip) values('" + accNum + "','" + ip + "')";
+
+            OracleCommand command = new OracleCommand(sqlStmt, _connectionTpc, _transaction);
+
+            try
+            {
+                if (command.ExecuteNonQuery() <= 0)
+                    _pLog.Warn("無法紀錄Alarm IP!");
+            }
+            catch (Exception e)
+            {
+                _pLog.Error("recordAlarmIP Error." + e.Message);
                 return;
             }
             finally
             {
-                Command.Dispose();
+                command.Dispose();
             }
-
         }
-
     }
-}
+}
\ No newline at end of file

--
Gitblit v0.0.0-SNAPSHOT