Exemplo n.º 1
0
        public override void Validate()
        {
            Exception exception = null;

            this.ValidateParameterSets();
            DlpPolicyTemplateMetaData dlpPolicyTemplateMetaData = null;

            if (this.taskObject.Fields.IsModified("TemplateData"))
            {
                dlpPolicyTemplateMetaData = this.LoadDlpPolicyFromCustomTemplateData();
            }
            if (this.taskObject.Fields.IsModified("Template"))
            {
                dlpPolicyTemplateMetaData = this.LoadDlpPolicyFromInstalledTemplate();
            }
            if (this.taskObject.Fields.IsModified("Name"))
            {
                this.dlpPolicy.Name = this.taskObject.Name;
            }
            if (dlpPolicyTemplateMetaData != null)
            {
                this.dlpPolicy = new DlpPolicyMetaData(dlpPolicyTemplateMetaData, this.taskObject.CommandRuntime.Host.CurrentCulture);
                if (!string.IsNullOrEmpty(this.taskObject.Name))
                {
                    this.dlpPolicy.Name = this.taskObject.Name;
                }
                this.dlpPolicy.PolicyCommands = NewDlpPolicyImpl.ParameterizeCmdlets(this.dlpPolicy.Name, dlpPolicyTemplateMetaData.PolicyCommands, dlpPolicyTemplateMetaData.RuleParameters, this.taskObject.Parameters, new NewDlpPolicy.WarningWriterDelegate(this.taskObject.WriteWarning), out exception);
                this.WriteParameterErrorIfExceptionOccurred(exception, "Parameters");
                this.dlpPolicy.PolicyCommands = DlpPolicyTemplateMetaData.LocalizeCmdlets(this.dlpPolicy.PolicyCommands, dlpPolicyTemplateMetaData.LocalizedPolicyCommandResources, this.taskObject.CommandRuntime.Host.CurrentCulture).ToList <string>();
                this.dlpPolicy.PolicyCommands.ForEach(delegate(string command)
                {
                    DlpPolicyTemplateMetaData.ValidateCmdletParameters(command);
                });
            }
            if (this.taskObject.Fields.IsModified("State"))
            {
                this.dlpPolicy.State = this.taskObject.State;
            }
            if (this.taskObject.Fields.IsModified("Mode"))
            {
                this.dlpPolicy.Mode = this.taskObject.Mode;
            }
            if (this.taskObject.Fields.IsModified("Description"))
            {
                this.dlpPolicy.Description = this.taskObject.Description;
            }
            this.ValidateDlpPolicyName();
        }