Example #1
0
        public CheckinSetting GetPoliciesToExecute()
        {
            var checkin = GetPolicies(_triggerType);

            foreach (var policy in checkin.Policies)
            {
                switch (policy.Scope)
                {
                case "Computer":
                    var policyHistory = _policyHistoryServices.GetLastPolicyRun(policy.Hash);
                    switch (policy.Frequeny)
                    {
                    case (int)EnumPolicyInterval.Frequency.Ongoing:
                        _policiesToRun.Add(policy);
                        break;

                    case (int)EnumPolicyInterval.Frequency.OncePerComputer:
                        OncePerComputer(policy, policyHistory);
                        break;

                    case (int)EnumPolicyInterval.Frequency.OncePerDay:
                        OncePerDay(policy, policyHistory);
                        break;

                    case (int)EnumPolicyInterval.Frequency.OncePerWeek:
                        OncePerWeek(policy, policyHistory);
                        break;

                    case (int)EnumPolicyInterval.Frequency.OncePerMonth:
                        OncePerMonth(policy, policyHistory);
                        break;
                    }
                    break;

                case "User":
                    var policyHistoryUser = _policyHistoryServices.GetLastPolicyRunForUser(policy.Hash, _currentUser);
                    switch (policy.Frequeny)
                    {
                    case (int)EnumPolicyInterval.Frequency.Ongoing:
                        _policiesToRun.Add(policy);
                        break;

                    case (int)EnumPolicyInterval.Frequency.OncePerUserPerComputer:
                        OncePerComputerPerUser(policy, policyHistoryUser);
                        break;
                    }
                    break;

                default:
                    throw new Exception("Policy scope not defined");
                }
            }
            var checkinResult = new CheckinSetting();

            checkinResult.CheckinTime = checkin.CheckinTime;
            checkinResult.Policies    = _policiesToRun;
            return(checkinResult);
        }
Example #2
0
        private CheckinSetting GetPolicies(EnumPolicyInterval.Trigger triggerType)
        {
            //todo change to api call
            //for now seeded for development


            var checkinSetting = new CheckinSetting();

            checkinSetting.CheckinTime = 60;
            checkinSetting.Policies    = Seed();
            return(checkinSetting);
        }