public void Include(EntityData otherData) { Alerts.AddRange(otherData.Alerts); EmailAlertRecipients.AddRange(otherData.EmailAlertRecipients); SmsAlertRecipients.AddRange(otherData.SmsAlertRecipients); AlertReports.AddRange(otherData.AlertReports); AlertRules.AddRange(otherData.AlertRules); ApplicationLanguages.AddRange(otherData.ApplicationLanguages); ContentLanguages.AddRange(otherData.ContentLanguages); Countries.AddRange(otherData.Countries); DataCollectors.AddRange(otherData.DataCollectors); Districts.AddRange(otherData.Districts); GatewaySettings.AddRange(otherData.GatewaySettings); HeadManagerConsents.AddRange(otherData.HeadManagerConsents); HealthRisks.AddRange(otherData.HealthRisks); HealthRiskLanguageContents.AddRange(otherData.HealthRiskLanguageContents); Localizations.AddRange(otherData.Localizations); LocalizedTemplates.AddRange(otherData.LocalizedTemplates); NationalSocieties.AddRange(otherData.NationalSocieties); Notifications.AddRange(otherData.Notifications); Projects.AddRange(otherData.Projects); SupervisorUserProjects.AddRange(otherData.SupervisorUserProjects); ProjectHealthRisks.AddRange(otherData.ProjectHealthRisks); RawReports.AddRange(otherData.RawReports); Regions.AddRange(otherData.Regions); Reports.AddRange(otherData.Reports); Users.AddRange(otherData.Users); UserNationalSocieties.AddRange(otherData.UserNationalSocieties); Villages.AddRange(otherData.Villages); Zones.AddRange(otherData.Zones); }
private void CheckUser() { StivLibrary.DataCollectors SDC = new DataCollectors(); string username = Job2Do.TaskOptions; string domain = Environment.UserDomainName; GV.CurrentActionForLog = "Checking status of user " + Job2Do.TaskOptions + " on " + domain; var chekker = SDC.ADGetObjectDistinguishedName("user", "distinguishedName", username, domain); GV.CurrentActionForLog = "Get Distinguished Object = " + chekker; if (SDC.ADObjectExists(@"users\stivo")) { GV.CurrentActionForLog = "Found user: "******"Did not find " + Job2Do.TaskOptions; } Job2Do.timecompleted = DateTime.Now; Job2Do.TaskStatusColor = "Green"; Job2Do.taskdetails.Add("Get Object DN", chekker); }
private void CheckLocalUpdates_Click(object sender, RoutedEventArgs e) { StivLibrary.DataCollectors DC = new DataCollectors(); var goobtash = DC.ListUninstalledUpdates(); string result = ""; foreach (KeyValuePair <string, List <string> > disone in goobtash) { result = disone.Key; } MessageBox.Show(result); }
public INyssContext GetNyssContextMock() { var nyssContextMock = Substitute.For <INyssContext>(); var nationalSocietiesDbSet = NationalSocieties.AsQueryable().BuildMockDbSet(); var healthRisksDbSet = HealthRisks.AsQueryable().BuildMockDbSet(); var alertRulesDbSet = AlertRules.AsQueryable().BuildMockDbSet(); var projectsDbSet = Projects.AsQueryable().BuildMockDbSet(); var projectHealthRisksDbSet = ProjectHealthRisks.AsQueryable().BuildMockDbSet(); var dataCollectorsDbSet = DataCollectors.AsQueryable().BuildMockDbSet(); var reportsDbSet = Reports.AsQueryable().BuildMockDbSet(); var rawReportsDbSet = RawReports.AsQueryable().BuildMockDbSet(); var usersDbSet = Users.AsQueryable().BuildMockDbSet(); var supervisorUserProjectsDbSet = SupervisorUserProjects.AsQueryable().BuildMockDbSet(); var userNationalSocietiesDbSet = UserNationalSocieties.AsQueryable().BuildMockDbSet(); var regionsDbSet = Regions.AsQueryable().BuildMockDbSet(); var districtsDbSet = Districts.AsQueryable().BuildMockDbSet(); var villagesDbSet = Villages.AsQueryable().BuildMockDbSet(); var zonesDbSet = Zones.AsQueryable().BuildMockDbSet(); var alertsDbSet = Alerts.AsQueryable().BuildMockDbSet(); nyssContextMock.NationalSocieties.Returns(nationalSocietiesDbSet); nyssContextMock.HealthRisks.Returns(healthRisksDbSet); nyssContextMock.AlertRules.Returns(alertRulesDbSet); nyssContextMock.Projects.Returns(projectsDbSet); nyssContextMock.ProjectHealthRisks.Returns(projectHealthRisksDbSet); nyssContextMock.DataCollectors.Returns(dataCollectorsDbSet); nyssContextMock.Reports.Returns(reportsDbSet); nyssContextMock.RawReports.Returns(rawReportsDbSet); nyssContextMock.Users.Returns(usersDbSet); nyssContextMock.SupervisorUserProjects.Returns(supervisorUserProjectsDbSet); nyssContextMock.UserNationalSocieties.Returns(userNationalSocietiesDbSet); nyssContextMock.Regions.Returns(regionsDbSet); nyssContextMock.Districts.Returns(districtsDbSet); nyssContextMock.Villages.Returns(villagesDbSet); nyssContextMock.Zones.Returns(zonesDbSet); nyssContextMock.Alerts.Returns(alertsDbSet); return(nyssContextMock); }
public void StartWorking() { StivLibrary.DataCollectors DC = new DataCollectors(); Job2Do.status = "Executing"; Job2Do.TaskStatusColor = "Yellow"; Job2Do.timeexecuted = DateTime.Now; //NetTcpBinding bindbert = new NetTcpBinding(); //bindbert.Security.Mode = SecurityMode.None; //var ConsoleContract = new ChannelFactory<TaskConsoleWCFService.ContractDefinition>(bindbert); //var ConsoleService = ConsoleContract.CreateChannel(new EndpointAddress(GV.ConsoleEndPoint)); try// { NotifyConsole(); } catch (Exception ex)//How do we handle failed commands? Later investigation. { string erp = ex.ToString(); string Error2log = "Worker croaked over trying to hit the service endpoint. /n"; Error2log += "Command to execute: " + Job2Do.Taskname; GV.CurrentActionForLog = Error2log; } switch (Job2Do.Taskname) { case "GetUninstalledUpdates": GetUnInstalledUpdates(); break; case "AdminService-Stop": case "AdminService-Start": case "AdminService-Restart": AdminService(); break; case "CheckUser": CheckUser(); break; case "IIS-Stop": ExecuteCommandline("iisreset -stop"); break; case "IIS-Start": ExecuteCommandline("iisreset -start"); break; case "IIS-Reset": ExecuteCommandline("iisreset"); break; case "WSUSCheck-in": ExecuteCommandline("wuaclt /detectnow /reportnow"); break; case "Restart": ExecuteCommandline("shutdown.exe /r /t 20"); break; case "Terminate": GV.Whackme = true; break; case "ParseEvents": ParseEventLog(); break; case "LastDump": LastDump(); break; case "CertChains": CertChains(); break; case "FindPrivate": FindPrivate(); break; default: GV.CurrentActionForLog = "Recieved an task we dont know how to handle " + Job2Do.Taskname; Job2Do.TaskStatusColor = "Red"; Job2Do.status = "Execution: Failed"; Job2Do.taskdetails.Add("Did not recognize task:", Job2Do.Taskname); break; } NotifyConsole(); }
public void Listener()// A Thread that runs and polls for commands from server. Process commands and return results { StivLibrary.DataCollectors SDC = new DataCollectors(); ThreadClass TC = new ThreadClass(); string strHostName = ""; strHostName = System.Net.Dns.GetHostName(); IPHostEntry ipEntry = System.Net.Dns.GetHostEntry(strHostName); IPAddress[] addr = ipEntry.AddressList; NetTcpBinding bindbert = new NetTcpBinding(); bindbert.Security.Mode = SecurityMode.None; var ConsoleContract = new ChannelFactory <TaskConsoleWCFService.ContractDefinition>(bindbert); var ConsoleService = ConsoleContract.CreateChannel(new EndpointAddress(GV.ConsoleEndPoint)); try//Just a quick test to make sure the server responds.... { string getthread = ConsoleService.GetThreadData(); } catch { GV.CurrentActionForLog = "Listener croaked over trying to hit the service endpoint. \n"; GV.Whackme = true; GV.ServerCommunicationReceived = DateTime.Now; } while (!GV.Whackme) { try { TaskConsoleWCFService.Jobber myjob = ConsoleService.GetJob(Dns.GetHostName(), SDC.GetHostIP(Dns.GetHostName())); GV.ServerCommunicationReceived = DateTime.Now; // Here is where we need to process any recieved jobs. if (myjob.Taskname.Equals("No jobs for joo!")) { if (GV.Verbose) { GV.CurrentActionForLog = "No new jobs for me at: " + GV.ConsoleEndPoint; } } else { myjob.timerecieved = DateTime.Now; myjob.status = "Recieved"; ConsoleService.UpdateJob(myjob); GV.Tasklist.Add(myjob.ThisTaskGuid, myjob); GV.CurrentActionForLog = "Recieved new job " + myjob.Taskname; LeWorker Lew = new LeWorker(); Lew.Job2Do = myjob; Thread Wthread = new Thread(new ThreadStart(Lew.StartWorking)); Wthread.IsBackground = true; Wthread.Name = "StivAgent Worker Thread"; Wthread.Start(); } //GV.CurrentActionForLog = ConsoleService.GetArgsToPass().ToString(); } catch { GV.CurrentActionForLog = "Lost communication to Console!"; GV.Whackme = true; } Thread.Sleep(5000); //5 Second wait to poll. } }
private void GenerateDataCollectorsWithReports() { var numberOfDataCollectors = 17; var numberOfHumanDataCollectors = 10; var numberOfDataCollectionPoints = 6; var humansStartIndex = 0; var collectionPointsStartIndex = numberOfHumanDataCollectors; var numberOfTrainingHumans = 2; var numberOfTrainingCollectionPoints = 2; var numberOfReports = (numberOfDataCollectors - 1) * 2; var numberOfErrorReports = 2; DataCollectors = Enumerable.Range(1, numberOfDataCollectors) .Select(i => new DataCollector { Id = i, Project = Projects[0], Supervisor = (SupervisorUser)Users[0], DataCollectorType = DataCollectorType.Human, IsInTrainingMode = false, Reports = new List <Report>(), RawReports = new List <RawReport>(), Zone = i == numberOfDataCollectors ? Zones[i - 2] : Zones[i - 1], Village = i == numberOfDataCollectors ? Zones[i - 2].Village : Zones[i - 1].Village }) .ToList(); DataCollectors.GetRange(collectionPointsStartIndex, numberOfDataCollectionPoints).ForEach(dc => dc.DataCollectorType = DataCollectorType.CollectionPoint); DataCollectors.GetRange(humansStartIndex, numberOfTrainingHumans).ForEach(dc => dc.IsInTrainingMode = true); DataCollectors.GetRange(collectionPointsStartIndex, numberOfTrainingCollectionPoints).ForEach(dc => dc.IsInTrainingMode = true); Reports = Enumerable.Range(1, numberOfReports) .Select(i => new Report { Id = i, DataCollector = DataCollectors[(i - 1) / 2], Status = ReportStatus.New }) .ToList(); Reports.ForEach(r => { r.IsTraining = r.DataCollector.IsInTrainingMode; r.CreatedAt = BaseDate.AddDays(r.Id - 1); r.ReceivedAt = r.CreatedAt; r.EpiWeek = _dateTimeProvider.GetEpiDate(r.CreatedAt).EpiWeek; r.EpiYear = _dateTimeProvider.GetEpiDate(r.CreatedAt).EpiYear; r.ProjectHealthRisk = ProjectHealthRisks[(r.Id - 1) % 3 == 0 ? 0 : 1]; r.RawReport = new RawReport { Id = r.Id, DataCollector = r.DataCollector, NationalSociety = NationalSocieties[0], IsTraining = r.IsTraining, Village = r.DataCollector.Village, Zone = r.DataCollector.Zone, Report = r }; r.DataCollector.Reports.Add(r); r.ProjectHealthRisk.Reports.Add(r); }); Reports.Where(r => r.DataCollector.DataCollectorType == DataCollectorType.Human).ToList() .ForEach(r => { r.ReportedCaseCount = (r.Id % 4) switch { 0 => 1, 1 => 1, 2 => 1, 3 => 1, _ => (r.ReportedCase.CountMalesBelowFive ?? 0) + (r.ReportedCase.CountFemalesAtLeastFive ?? 0) + (r.ReportedCase.CountFemalesBelowFive ?? 0) + (r.ReportedCase.CountMalesAtLeastFive ?? 0) + (r.DataCollectionPointCase.DeathCount ?? 0) + (r.DataCollectionPointCase.FromOtherVillagesCount ?? 0) + (r.DataCollectionPointCase.ReferredCount ?? 0) }; r.ReportedCase = (r.Id % 4) switch { 0 => new ReportCase { CountMalesBelowFive = 1, CountMalesAtLeastFive = 0, CountFemalesBelowFive = 0, CountFemalesAtLeastFive = 0 }, 1 => new ReportCase { CountMalesAtLeastFive = 1, CountFemalesBelowFive = 0, CountFemalesAtLeastFive = 0, CountMalesBelowFive = 0 }, 2 => new ReportCase { CountFemalesBelowFive = 1, CountMalesBelowFive = 0, CountMalesAtLeastFive = 0, CountFemalesAtLeastFive = 0 }, 3 => new ReportCase { CountFemalesAtLeastFive = 1, CountMalesBelowFive = 0, CountFemalesBelowFive = 0, CountMalesAtLeastFive = 0 }, _ => r.ReportedCase }; }); var test = Reports.Where(r => r.DataCollector.DataCollectorType == DataCollectorType.CollectionPoint).ToList(); Reports.Where(r => r.DataCollector.DataCollectorType == DataCollectorType.CollectionPoint).ToList() .ForEach(r => { r.ReportType = ReportType.DataCollectionPoint; r.ReportedCase = (r.Id % 4) switch { 0 => new ReportCase { CountMalesBelowFive = 1, CountMalesAtLeastFive = 0, CountFemalesBelowFive = 0, CountFemalesAtLeastFive = 0 }, 1 => new ReportCase { CountMalesAtLeastFive = 1, CountFemalesBelowFive = 0, CountFemalesAtLeastFive = 0, CountMalesBelowFive = 0 }, 2 => new ReportCase { CountFemalesBelowFive = 1, CountMalesBelowFive = 0, CountMalesAtLeastFive = 0, CountFemalesAtLeastFive = 0 }, 3 => new ReportCase { CountFemalesAtLeastFive = 1, CountMalesBelowFive = 0, CountFemalesBelowFive = 0, CountMalesAtLeastFive = 0 }, _ => r.ReportedCase }; r.DataCollectionPointCase = (r.Id % 3) switch { 0 => new DataCollectionPointCase { FromOtherVillagesCount = 1, ReferredCount = 0, DeathCount = 0 }, 1 => new DataCollectionPointCase { ReferredCount = 1, FromOtherVillagesCount = 0, DeathCount = 0 }, 2 => new DataCollectionPointCase { DeathCount = 1, FromOtherVillagesCount = 0, ReferredCount = 0 }, _ => r.DataCollectionPointCase }; r.ReportedCaseCount = (r.Id % 4) switch { 0 => 1, 1 => 1, 2 => 1, 3 => 1, _ => (r.ReportedCase.CountMalesBelowFive ?? 0) + (r.ReportedCase.CountFemalesAtLeastFive ?? 0) + (r.ReportedCase.CountFemalesBelowFive ?? 0) + (r.ReportedCase.CountMalesAtLeastFive ?? 0) + (r.DataCollectionPointCase.DeathCount ?? 0) + (r.DataCollectionPointCase.FromOtherVillagesCount ?? 0) + (r.DataCollectionPointCase.ReferredCount ?? 0) }; }); RawReports = new List <RawReport>(); Reports.ForEach(r => { var rawReport = new RawReport { Id = r.Id, DataCollector = r.DataCollector, ReceivedAt = r.ReceivedAt, IsTraining = r.IsTraining, Report = r }; RawReports.Add(rawReport); }); var errorReports = Enumerable.Range(1, numberOfErrorReports) .Select(i => new RawReport { Id = i + numberOfReports, DataCollector = DataCollectors[DataCollectors.Count - 1], ReceivedAt = BaseDate.AddDays(i - 1), IsTraining = false }).ToList(); RawReports.AddRange(errorReports); RawReports.ForEach(r => r.DataCollector.RawReports.Add(r)); }