/// <summary>
        /// Updates the given model element with the cmdlet specific operation
        /// </summary>
        /// <param name="model">A model object</param>
        protected override VulnerabilityAssessmentRuleBaselineModel ApplyUserInputToModel(VulnerabilityAssessmentRuleBaselineModel model)
        {
            base.ApplyUserInputToModel(model);

            if (string.Equals(this.ParameterSetName, SetByInputObjectParameterSet, StringComparison.OrdinalIgnoreCase))
            {
                model.BaselineResult = InputObject.BaselineResult;
                model.RuleId         = InputObject.RuleId;
                return(model);
            }

            model.BaselineResult = new List <VulnerabilityAssessmentRuleBaselineRowModel>();
            foreach (var baselineResult in BaselineResult)
            {
                var ruleBaselineItem = new VulnerabilityAssessmentRuleBaselineRowModel()
                {
                    Result = baselineResult
                };

                model.BaselineResult.Add(ruleBaselineItem);
            }

            model.RuleId = RuleId;
            model.RuleAppliesToMaster = RuleAppliesToMaster.IsPresent;
            return(model);
        }
        /// <summary>
        /// Provides a database Vulnerability Assessment Rule Baseline model for the given database
        /// </summary>
        public VulnerabilityAssessmentRuleBaselineModel GetVulnerabilityAssessmentRuleBaseline(string resourceGroup, string serverName,
                                                                                               string databaseName, string ruleId, bool ruleAppliesToMaster, ApplyToType applyToType)
        {
            var vulnerabilityAssessmentRuleBaseline = (applyToType == ApplyToType.Database)
                ? VulnerabilityAssessmentCommunicator.GetDatabaseVulnerabilityAssessmentRuleBaseline(resourceGroup, serverName, databaseName, ruleId, ruleAppliesToMaster)
                : VulnerabilityAssessmentCommunicator.GetManagedDatabaseVulnerabilityAssessmentRuleBaseline(resourceGroup, serverName, databaseName, ruleId, ruleAppliesToMaster);

            var ruleBaselineModel = new VulnerabilityAssessmentRuleBaselineModel()
            {
                ResourceGroupName   = resourceGroup,
                RuleId              = ruleId,
                RuleAppliesToMaster = ruleAppliesToMaster
            };

            ruleBaselineModel.BaselineResult = new List <VulnerabilityAssessmentRuleBaselineRowModel>();

            foreach (var baselineResult in vulnerabilityAssessmentRuleBaseline.BaselineResults)
            {
                var ruleBaselineItem = new VulnerabilityAssessmentRuleBaselineRowModel()
                {
                    Result = baselineResult.Result
                };

                ruleBaselineModel.BaselineResult.Add(ruleBaselineItem);
            }

            return(ruleBaselineModel);
        }