nHydrate.Generator.Forms.TableCodeFacadeUpdateForm.ProcessTable C# (CSharp) Method

ProcessTable() private method

private ProcessTable ( Table table ) : void
table Table
return void
		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;
			}

		}