//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); }
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))); }