private void Submit(object sender, System.Windows.RoutedEventArgs e)
{
decimal priority = DEFAULT_RULE_PRIORITY;
Decimal.TryParse(m_rulePriority.Text, out priority);
if (m_ruleToUpdate == null)
{
SimpleWizardRule rule = new SimpleWizardRule()
{
ID = Guid.Empty.ToString(), // Will be set in the manager.
Owner = "None", // Will be set in the manager.
DialPlanID = Guid.Empty.ToString(), // Will be set in the manager.
Direction = SIPCallDirection.In.ToString(),
//ToSIPAccount = (m_ruleToSIPAccount.IsChecked.GetValueOrDefault()) ? m_ruleToAccount.SelectedValue as string : null,
//RuleTypeID = Enum.Parse(typeof(SimpleWizardRuleTypes), ((TextBlock)m_ruleType.SelectedValue).Text, true).GetHashCode(),
Pattern = m_rulePattern.Text,
Command = ((TextBlock)m_ruleCommandType.SelectedValue).Text,
Description = m_ruleDescription.Text,
Priority = priority,
IsDisabled = m_ruleIsDisabled.IsChecked.GetValueOrDefault()
};
string toFieldsError = SetRuleToMatchFields(rule);
if (toFieldsError != null)
{
SetErrorMessage(toFieldsError);
return;
}
string commandParameterError = SetRuleCommandFields(rule);
if (commandParameterError != null)
{
SetErrorMessage(commandParameterError);
return;
}
string timePatternError = GetTimePattern(rule);
if (timePatternError != null)
{
SetErrorMessage(timePatternError);
return;
}
string validationError = Validate(rule);
if (validationError != null)
{
SetErrorMessage(validationError);
}
else
{
HideErrorSB.Begin();
Add(rule);
}
}
else
{
//m_ruleToUpdate.ToSIPAccount = (m_ruleToSIPAccount.IsChecked.GetValueOrDefault()) ? m_ruleToAccount.SelectedValue as string : null;
//m_ruleToUpdate.RuleTypeID = Enum.Parse(typeof(SimpleWizardRuleTypes), ((TextBlock)m_ruleType.SelectedValue).Text, true).GetHashCode();
m_ruleToUpdate.Pattern = m_rulePattern.Text;
m_ruleToUpdate.Command = ((TextBlock)m_ruleCommandType.SelectedValue).Text;
m_ruleToUpdate.Description = m_ruleDescription.Text;
m_ruleToUpdate.Priority = priority;
m_ruleToUpdate.IsDisabled = m_ruleIsDisabled.IsChecked.GetValueOrDefault();
string toFieldsError = SetRuleToMatchFields(m_ruleToUpdate);
if (toFieldsError != null)
{
SetErrorMessage(toFieldsError);
return;
}
string commandParameterError = SetRuleCommandFields(m_ruleToUpdate);
if (commandParameterError != null)
{
SetErrorMessage(commandParameterError);
return;
}
string timePatternError = GetTimePattern(m_ruleToUpdate);
if (timePatternError != null)
{
SetErrorMessage(timePatternError);
return;
}
string validationError = Validate(m_ruleToUpdate);
if (validationError != null)
{
SetErrorMessage(validationError);
}
else
{
HideErrorSB.Begin();
Update(m_ruleToUpdate);
}
}
}