예제 #1
0
        private List <CheckTaskStatus> GetTaskStatus()
        {
            List <CheckTaskStatus> _ret = new List <CheckTaskStatus>();

            Dictionary <string, string> _connList = new Dictionary <string, string>();

            foreach (ConnectionStringSettings _cstr in ConfigurationManager.ConnectionStrings)
            {
                if (_cstr.ProviderName == "System.Data.OracleClient")
                {
                    _connList.Add(_cstr.Name, _cstr.ConnectionString);
                }
            }

            CheckTaskConfigSection TaskList = (CheckTaskConfigSection)ConfigurationManager.GetSection("CheckTaskList");

            foreach (CheckTaskConfigurationElement _el in TaskList.PluginCollection)
            {
                CheckTaskStatus _wss = new CheckTaskStatus();
                _wss.Name        = _el.Name;
                _wss.Description = _el.Description;
                _wss.RWID        = _el.RWID;
                GetTaskRunFlag(_wss, _el.ConnectName, _connList);

                _ret.Add(_wss);
            }
            return(_ret);
        }
예제 #2
0
        private string GetFlag(CheckTaskStatus _ws)
        {
            if (_ws.RWZT == 5)
            {
                return("4");
            }
            switch (_ws.LastRunFlag)
            {
            case 0:
                return("1");

            case 9:
                return("3");

            default:
                return("2");
            }
        }
예제 #3
0
        private void GetTaskRunFlag(CheckTaskStatus _wss, string cName, Dictionary <string, string> _connList)
        {
            if (_connList.ContainsKey(cName))
            {
                string _cstr = _connList[cName];

                using (OracleConnection cn = new OracleConnection(_cstr))
                {
                    try
                    {
                        cn.Open();
                        OracleCommand _cmd = new OracleCommand(SQL_GetTaskRunFlag, cn);
                        _cmd.Parameters.Add(":RWID", decimal.Parse(_wss.RWID));
                        using (OracleDataReader _dr = _cmd.ExecuteReader())
                        {
                            while (_dr.Read())
                            {
                                _wss.Description = _dr.IsDBNull(0) ? "" : _dr.GetString(0);
                                _wss.LastRunFlag = _dr.IsDBNull(1) ? (int)-1 : Convert.ToInt32(_dr.GetDecimal(1));
                                _wss.RWZT        = _dr.IsDBNull(2) ? (int)-1 : Convert.ToInt32(_dr.GetDecimal(2));
                            }
                            _dr.Close();
                        }

                        OracleCommand _cmd2 = new OracleCommand(SQL_GetErrorNum, cn);
                        _cmd2.Parameters.Add(":RUNTIME", DateTime.Now.Date.AddDays(-7));
                        _cmd2.Parameters.Add(":RWID", decimal.Parse(_wss.RWID));
                        decimal _count = (decimal)_cmd2.ExecuteScalar();
                        _wss.ErrorNum = Convert.ToInt32(_count);
                    }
                    catch (Exception ex)
                    {
                        _wss.LastRunFlag = -1;
                        _wss.RWZT        = -1;
                    }
                }
            }
            else
            {
                _wss.ErrorNum    = -1;
                _wss.LastRunFlag = -1;
                _wss.RWZT        = -1;
            }
        }