Esempio n. 1
0
 //update agent configuration from server
 public async Task <SrvMonParams> GetServerConfig(SrvMonParams config)
 {
     if ((_client == null) || (_client.State != CommunicationState.Opened))
     {
         _client = GetClient();
     }
     try
     {
         return(await _client.GetConfigAsync(config, "UserPassword".GetRegString()));
     }
     catch (FaultException ex)
     {
         (ex.Message).WriteLog(EventLogEntryType.Error, 4);
     }
     catch (Exception ex)
     {
         (ex.Message + ex.InnerException).WriteLog(EventLogEntryType.Error, 4);
         _client.Abort();
     }
     return(config);
 }
Esempio n. 2
0
        private SrvMonParams LoadConfig()
        {
            var jakeParams = new SrvMonParams();

            _configurationNeeded = false;
            try
            {
                if ("ServerId".GetRegString() != null)
                {
                    if ("ServerId".GetRegString() == "")
                    {
                        jakeParams.ServerId = Guid.NewGuid();
                        jakeParams.ServerId.ToString().SetRegString("ServerId");
                    }
                    else
                    {
                        jakeParams.ServerId = Guid.Parse("ServerId".GetRegString());
                    }
                }
                else
                {
                    _configurationNeeded = true;
                }
                if ("HostName".GetRegString() != null)
                {
                    if ("HostName".GetRegString() == "")
                    {
                        jakeParams.HostName = Environment.MachineName;
                        jakeParams.HostName.SetRegString("HostName");
                    }
                    else
                    {
                        jakeParams.HostName = "HostName".GetRegString();
                    }
                }
                else
                {
                    _configurationNeeded = true;
                }
                if ("UserId".GetRegString() != null)
                {
                    jakeParams.UserId = (new MailAddress("UserId".GetRegString())).ToString();
                }
                else
                {
                    _configurationNeeded = true;
                }
                if ("MonitoredServices".GetRegString() != null)
                {
                    jakeParams.MonitoredServices = "MonitoredServices".GetRegString();
                }
                else
                {
                    _configurationNeeded = true;
                }
                if ("TopRamProcesses".GetRegString() != null)
                {
                    jakeParams.TopRamProcesses = int.Parse("TopRamProcesses".GetRegString());
                }
                else
                {
                    _configurationNeeded = true;
                }
                if ("TopCpuProcesses".GetRegString() != null)
                {
                    jakeParams.TopCpuProcesses = int.Parse("TopCpuProcesses".GetRegString());
                }
                else
                {
                    _configurationNeeded = true;
                }
                if ("HwMonTimeSpan".GetRegString() != null)
                {
                    jakeParams.HwMonTimeSpan = TimeSpan.Parse("HwMonTimeSpan".GetRegString()).ToString();
                }
                else
                {
                    _configurationNeeded = true;
                }
                if ("EvMonTimeSpan".GetRegString() != null)
                {
                    jakeParams.EvMonTimeSpan = TimeSpan.Parse("EvMonTimeSpan".GetRegString()).ToString();
                }
                else
                {
                    _configurationNeeded = true;
                }
                if ("ServiceTimer".GetRegString() != null)
                {
                    jakeParams.ServiceTimer = int.Parse("ServiceTimer".GetRegString());
                }
                else
                {
                    _configurationNeeded = true;
                }
                _timer.Interval = jakeParams.ServiceTimer * 1000;
                return(jakeParams);
            }
            catch (Exception ex)
            {
                (ex.Message + ex.InnerException).WriteLog(EventLogEntryType.Error, 14);
                "Run Confugurator!".WriteLog(EventLogEntryType.Error, 14);
                _configurationNeeded = true;
                return(null);
            }
        }
 private static SrvMonParams GetConfig(SrvMonParams jakeParams, string password)
 {
     using (var db = new candykingdomdbEntities())
     {
         try
         {
             if (!Auth(jakeParams.UserId, password))
             {
                 var sb = new StringBuilder();
                 sb.AppendLine("Authorization error:");
                 sb.AppendFormat("Login: {0}\nPassword: {1}", jakeParams.UserId, password);
                 sb.ToString().WriteLog(EventLogEntryType.Error, 104);
                 return(jakeParams);
             }
             if (!db.servers.Any(s => s.ServerGUID == jakeParams.ServerId))
             {
                 //add server
                 db.servers.Add(new servers
                 {
                     ServerGUID        = jakeParams.ServerId,
                     UserID            = db.AspNetUsers.Single(u => u.UserName == jakeParams.UserId).Id,
                     HostName          = jakeParams.HostName,
                     OnlineTime        = DateTime.Now,
                     UtcTime           = DateTime.Now.ToUniversalTime(),
                     MonitoredServices = jakeParams.MonitoredServices,
                     TopCpuProcesses   = jakeParams.TopCpuProcesses,
                     TopRamProcesses   = jakeParams.TopRamProcesses,
                     HwMonTimeSpan     = jakeParams.HwMonTimeSpan,
                     EvMonTimeSpan     = jakeParams.EvMonTimeSpan,
                     ServiceTimer      = jakeParams.ServiceTimer,
                     IsConfigChanged   = true
                 });
                 db.SaveChanges();
                 return(jakeParams);
             }
             //get parameters from db
             var serverInDb = db.servers.Single(s => s.ServerGUID == jakeParams.ServerId);
             jakeParams.ServerId          = serverInDb.ServerGUID;
             jakeParams.UserId            = db.AspNetUsers.Single(u => u.Id == serverInDb.UserID).UserName;
             jakeParams.MonitoredServices = serverInDb.MonitoredServices;
             jakeParams.TopCpuProcesses   = serverInDb.TopCpuProcesses;
             jakeParams.TopRamProcesses   = serverInDb.TopRamProcesses;
             jakeParams.HwMonTimeSpan     = serverInDb.HwMonTimeSpan;
             jakeParams.EvMonTimeSpan     = serverInDb.EvMonTimeSpan;
             jakeParams.ServiceTimer      = serverInDb.ServiceTimer;
             serverInDb.IsConfigChanged   = false;
             db.SaveChanges();
             return(jakeParams);
         }
         catch (DbEntityValidationException ex)
         {
             var sb = new StringBuilder();
             sb.AppendLine(jakeParams.UserId);
             sb.AppendLine(jakeParams.ServerId.ToString());
             foreach (var ve in ex.EntityValidationErrors.SelectMany(e => e.ValidationErrors))
             {
                 sb.AppendLine(ve.ErrorMessage);
             }
             (ex.Message + sb).WriteLog(EventLogEntryType.Error, 104);
             throw new FaultException(ex.Message);
         }
         catch (InvalidOperationException ex)
         {
             (ex.Message + ex.InnerException).WriteLog(EventLogEntryType.Error, 104);
             foreach (var server in db.servers.Where(s => s.ServerGUID == jakeParams.ServerId))
             {
                 db.servers.Remove(server);
             }
             db.SaveChanges();
             throw new FaultException(ex.Message);
         }
         catch (NullReferenceException ex)
         {
             (ex.Message + ex.InnerException).WriteLog(EventLogEntryType.Error, 104);
             throw new FaultException(ex.Message);
         }
     }
 }
 public async Task <SrvMonParams> GetConfigAsync(SrvMonParams jakeParams, string password)
 {
     return(await Task.Factory.StartNew(() => GetConfig(jakeParams, password)));
 }