private void ProcessTable(Table table)
{
var newTableName = table.Name;
if (optPrefix.Checked)
{
//Remove Prefix
if (!string.IsNullOrEmpty(txtPrefix.Text))
{
if (newTableName.StartsWith(txtPrefix.Text))
{
newTableName = newTableName.Substring(txtPrefix.Text.Length, newTableName.Length - txtPrefix.Text.Length);
}
}
}
if (chkReplaceText.Checked)
{
//Replace text
newTableName = newTableName.Replace(txtReplaceSource.Text, txtReplaceTarget.Text);
}
if (optUnderscore.Checked)
{
//Underscore
var currentName = newTableName;
var lowerCount = 0;
var index = 0;
var newName = string.Empty;
var lastCap = false;
var lastUnderscore = false;
foreach (var c in currentName)
{
var thisCap = (c.ToString() == c.ToString().ToUpper()) && (c != '_');
if ((thisCap == lastCap) && (lastCap) && (chkSkip2Caps.Checked))
{
//Skip the underscore since this is a double in row
}
else
{
//If this is an upper char then add underscore
if ((!lastUnderscore) && (index > 0) && c.ToString() == c.ToString().ToUpper() && (c != '_'))
newName += "_";
}
if (c.ToString() == c.ToString().ToLower())
lowerCount++;
if (c == ' ') newName += '_';
else if (ValidationHelper.ValidCodeChars.Contains(c)) newName += c;
index++;
lastCap = thisCap;
lastUnderscore = (c == '_');
}
//Only se if there was at least one lower char in string
if (lowerCount > 0)
{
newTableName = newName;
}
}
if (optUpcase.Checked)
{
//Upcase
newTableName = newTableName.ToUpper();
}
//Reset all names
try
{
table.CancelUIEvents = true;
if (_fieldSetting == FieldSettingConstants.Name)
table.Name = newTableName;
else if (_fieldSetting == FieldSettingConstants.CodeFacade)
table.CodeFacade = newTableName;
}
catch (Exception ex)
{
throw;
}
finally
{
table.CancelUIEvents = false;
}
}