Beispiel #1
0
        private static SQLInformation.Data.ApplicationDataSet.JSAlertsRow Add(MSMOA.Alert alert, SQLInformation.Data.ApplicationDataSet.JobServersRow jobServerRow)
        {
            SQLInformation.Data.ApplicationDataSet.JSAlertsRow dataRow = null;

            try
            {
                dataRow = Common.ApplicationDataSet.JSAlerts.NewJSAlertsRow();

                dataRow.ID                  = Guid.NewGuid();
                dataRow.JobServer_ID        = jobServerRow.ID;
                dataRow.Name_JSAlert        = alert.Name;
                dataRow.AlertType           = alert.AlertType.ToString();
                dataRow.CategoryName        = alert.CategoryName;
                dataRow.CountResetDate      = alert.CountResetDate;
                dataRow.DatabaseName        = alert.DatabaseName;
                dataRow.IsEnabled           = alert.IsEnabled;
                dataRow.JobID               = alert.JobID;
                dataRow.JobName             = alert.JobName;
                dataRow.LastOccurrenceDate  = alert.LastOccurrenceDate;
                dataRow.LastResponseDate    = alert.LastResponseDate;
                dataRow.NotificationMessage = alert.NotificationMessage;
                dataRow.OccurrenceCount     = alert.OccurrenceCount;
                dataRow.Severity            = alert.Severity;

                try
                {
                    dataRow.WmiEventNamespace = alert.WmiEventNamespace;
                }
                catch (Exception ex)
                {
#if TRACE
                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 5);
#endif
                    dataRow.WmiEventNamespace = "<Exception>";
                }

                try
                {
                    dataRow.WmiEventQuery = alert.WmiEventQuery;
                }
                catch (Exception ex)
                {
#if TRACE
                    VNC.AppLog.Debug(ex.ToString(), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 6);
#endif
                    dataRow.WmiEventNamespace = "<Exception>";
                }

                dataRow.SnapShotDate  = DateTime.Now;
                dataRow.SnapShotError = "";

                Common.ApplicationDataSet.JSAlerts_Add(dataRow);
            }
            catch (Exception ex)
            {
                ReportException(ex, dataRow, CLASS_BASE_ERRORNUMBER + 7);
            }

            return(dataRow);
        }
Beispiel #2
0
        private static void Update(MSMOA.Alert alert, SQLInformation.Data.ApplicationDataSet.JSAlertsRow dataRow)
        {
            try
            {
                //dataRow.X = alert.X;

                dataRow.SnapShotDate  = DateTime.Now;
                dataRow.SnapShotError = "";

                Common.ApplicationDataSet.JSAlerts_Update();
            }
            catch (Exception ex)
            {
                ReportException(ex, dataRow, CLASS_BASE_ERRORNUMBER + 8);
            }
        }
Beispiel #3
0
        private static SQLInformation.Data.ApplicationDataSet.JSAlertsRow GetInfoFromSMO(MSMOA.Alert alert, SQLInformation.Data.ApplicationDataSet.JobServersRow jobServerRow)
        {
#if TRACE
            long startTicks = VNC.AppLog.Trace4(string.Format("Enter ({0})", alert.Name), LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 2);
#endif

            SQLInformation.Data.ApplicationDataSet.JSAlertsRow dataRow = null;

            try
            {
                var dbs = from db in Common.ApplicationDataSet.JSAlerts
                          where db.JobServer_ID == jobServerRow.ID
                          select db;

                var dbs2 = from db2 in dbs
                           where db2.Name_JSAlert == alert.Name
                           select db2;

                if (dbs2.Count() > 0)
                {
                    dataRow = dbs2.First();
                    Update(alert, dataRow);
                }
                else
                {
                    dataRow = Add(alert, jobServerRow);
                }
            }
            catch (Exception ex)
            {
                ReportException(ex, dataRow, CLASS_BASE_ERRORNUMBER + 3);
            }

#if TRACE
            VNC.AppLog.Trace4("Exit", LOG_APPNAME, CLASS_BASE_ERRORNUMBER + 4, startTicks);
#endif
            return(dataRow);
        }