public PolicySelector(EnumPolicy.Trigger triggerType, string currentUser) { _currentTrigger = triggerType; _policiesToRun = new List <DtoClientPolicy>(); _policyHistoryServices = new PolicyHistoryServices(); _currentUser = currentUser; }
public PolicyRunner(EnumPolicy.Trigger trigger) { _trigger = trigger; _policyResults = new List <DtoPolicyResult>(); _reboot = false; _rebootNoLogins = false; }
public DtoApiStringResponse GetEffectivePolicy(int id, EnumPolicy.Trigger trigger, string comServerUrl) { var result = _computerServices.GetEffectivePolicy(id, trigger, comServerUrl); return(new DtoApiStringResponse() { Value = result }); }
public ModulePrintManager(DtoClientPrinterModule module, EnumPolicy.Trigger policyTrigger) { _moduleResult = new DtoModuleResult(); _moduleResult.Name = module.DisplayName; _moduleResult.Guid = module.Guid; _moduleResult.Success = true; _module = module; _trigger = policyTrigger; }
private DtoTriggerResponse GetAllPoliciesForTriggerType(EnumPolicy.Trigger triggerType) { var policyRequest = new DtoPolicyRequest(); policyRequest.ClientIdentity.Name = DtoGobalSettings.ClientIdentity.Name; policyRequest.ClientIdentity.Guid = DtoGobalSettings.ClientIdentity.Guid; policyRequest.ClientIdentity.InstallationId = DtoGobalSettings.ClientIdentity.InstallationId; policyRequest.Trigger = triggerType; //user login history and application usage is submitted for every startup or checkin trigger if (triggerType != EnumPolicy.Trigger.Login) { var serviceUserTracker = new ServiceUserTracker(); serviceUserTracker.CleanupOldEvents(); policyRequest.UserLogins = serviceUserTracker.GetUserCompletedEvents(); var serviceAppMonitor = new ServiceAppMonitor(); //Clean up duplicates before sending data to server serviceAppMonitor.CleanupOldEvents(); serviceAppMonitor.RemoveDuplicates(); policyRequest.AppMonitors = serviceAppMonitor.GetCompletedEvents(); } var response = new APICall().PolicyApi.GetClientPolicies(policyRequest); if (response == null) { return(null); } //only update checkin time for startup and checkin if (triggerType != EnumPolicy.Trigger.Login) { DtoGobalSettings.ShutdownDelay = response.ShutdownDelay; //Cannot have a checkin time less than 1 minute DtoGobalSettings.CheckinTime = response.CheckinTime >= 1 ? response.CheckinTime : 1; } if (response.UserLoginsSubmitted && policyRequest.UserLogins != null) { new ServiceUserTracker().DeleteEvents(policyRequest.UserLogins); } if (response.AppMonitorSubmitted && policyRequest.AppMonitors != null) { new ServiceAppMonitor().DeleteEvents(policyRequest.AppMonitors); } if (!ValidatePolicies(response.Policies)) { return(null); } return(response); }
public string GetEffectivePolicy(int id, EnumPolicy.Trigger trigger, string comServerUrl) { Request.Method = Method.GET; Request.Resource = string.Format("{0}/GetEffectivePolicy", Resource); Request.AddParameter("id", id); Request.AddParameter("trigger", trigger); Request.AddParameter("comServerUrl", comServerUrl); var result = new ApiRequest().Execute <DtoApiStringResponse>(Request); if (result == null) { return(string.Empty); } return(string.IsNullOrEmpty(result.Value) ? string.Empty : result.Value); }
protected void PopulateFrequency(DropDownList ddl, EnumPolicy.Trigger trigger) { ddl.DataSource = Enum.GetNames(typeof(EnumPolicy.Frequency)); ddl.DataBind(); if (trigger == EnumPolicy.Trigger.Login) { ddl.Items.Remove("OncePerComputer"); ddl.Items.Remove("OncePerDay"); ddl.Items.Remove("OncePerWeek"); ddl.Items.Remove("OncePerMonth"); ddl.Items.Remove("EveryXdays"); ddl.Items.Remove("EveryXhours"); } else { ddl.Items.Remove("OncePerUserPerComputer"); } }
public string GetEffectivePolicy(int computerId, EnumPolicy.Trigger trigger, string comServerUrl) { var computer = _uow.ComputerRepository.GetById(computerId); if (computer == null) { return(string.Empty); } var policyRequest = new DtoPolicyRequest(); policyRequest.Trigger = trigger; policyRequest.CurrentComServer = comServerUrl; policyRequest.ClientIdentity = new DtoClientIdentity(); policyRequest.ClientIdentity.Guid = computer.Guid; policyRequest.ClientIdentity.Name = computer.Name; var policy = new Workflows.GetClientPolicies().Execute(policyRequest); return(JsonConvert.SerializeObject(policy.Policies, Formatting.Indented)); }