SIPSorcery.SimpleWizardOutRuleControl.SetCommandParameterFieldsForRule C# (CSharp) Method

SetCommandParameterFieldsForRule() private method

Sets the command parameter fields based on the specified rule. The command parameters mean different things and apply to different controls dependent on the rule's command type.
private SetCommandParameterFieldsForRule ( SimpleWizardRule rule ) : void
rule SIPSorcery.Entities.SimpleWizardRule
return void
        private void SetCommandParameterFieldsForRule(SimpleWizardRule rule)
        {
            if (rule.CommandType == SimpleWizardCommandTypes.Dial && m_ruleProvider.Items != null && m_ruleProvider.Items.Count > 0)
            {
                m_ruleCommandString.Text = rule.CommandParameter1;
                if (m_ruleProvider.Items.Any(x => ((SIPProvider)x).ProviderName == rule.CommandParameter2))
                {
                    // The second command parameter holds the provider.
                    m_ruleProvider.SelectedIndex = m_ruleProvider.Items.IndexOf(m_ruleProvider.Items.Single(x => ((SIPProvider)x).ProviderName == rule.CommandParameter2));
                }
            }
            else if (rule.CommandType == SimpleWizardCommandTypes.DialAdvanced)
            {
                m_ruleAdvancedDialString.Text = rule.CommandParameter1;
                m_ruleRingDuration.Text = rule.CommandParameter2;
                m_ruleAnswerDuration.Text = rule.CommandParameter3;
            }
            else if (rule.CommandType == SimpleWizardCommandTypes.Reject)
            {
                m_rejectResponseCode.SelectedIndex = m_rejectResponseCode.Items.IndexOf(m_rejectResponseCode.Items.Single(x => ((TextBlock)x).Text.StartsWith(rule.CommandParameter1)));
                m_rejectReason.Text = rule.CommandParameter2;
            }
        }