コード例 #1
0
ファイル: PolicySelector.cs プロジェクト: theopenem/Toec
 public PolicySelector(EnumPolicy.Trigger triggerType, string currentUser)
 {
     _currentTrigger        = triggerType;
     _policiesToRun         = new List <DtoClientPolicy>();
     _policyHistoryServices = new PolicyHistoryServices();
     _currentUser           = currentUser;
 }
コード例 #2
0
 public PolicyRunner(EnumPolicy.Trigger trigger)
 {
     _trigger        = trigger;
     _policyResults  = new List <DtoPolicyResult>();
     _reboot         = false;
     _rebootNoLogins = false;
 }
コード例 #3
0
ファイル: ComputerController.cs プロジェクト: theopenem/Toems
        public DtoApiStringResponse GetEffectivePolicy(int id, EnumPolicy.Trigger trigger, string comServerUrl)
        {
            var result = _computerServices.GetEffectivePolicy(id, trigger, comServerUrl);

            return(new DtoApiStringResponse()
            {
                Value = result
            });
        }
コード例 #4
0
 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;
 }
コード例 #5
0
ファイル: PolicySelector.cs プロジェクト: theopenem/Toec
        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);
        }
コード例 #6
0
ファイル: ComputerAPI.cs プロジェクト: theopenem/Toems
        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);
        }
コード例 #7
0
ファイル: Policies.cs プロジェクト: theopenem/Toems
        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");
            }
        }
コード例 #8
0
        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));
        }