|
using System;
using System.Collections.Generic;
using System.Text;
namespace Harlinn.Oracle.DBTool.Types.CSharp
{
public class NamesHelper
{
public static string DBNameToCSName(string dbName, bool isVariableName)
{
StringBuilder sb = new StringBuilder();
int i = 0;
dbName = dbName.Trim();
bool nextIsUpper = isVariableName == false;
while ( i < dbName.Length )
{
Char c = dbName[i];
if ((c == '_')||(Char.IsWhiteSpace( c )))
{
nextIsUpper = true;
}
else
{
if (nextIsUpper)
{
c = Char.ToUpper(c);
}
else
{
c = Char.ToLower(c);
}
nextIsUpper = false;
sb.Append(c);
}
i++;
}
string result = sb.ToString();
if (isVariableName)
{
if (Keywords.IsKeyword(result))
{
result += "_";
}
}
return result;
}
public static string DBNameToDisplayName(string dbName)
{
StringBuilder sb = new StringBuilder();
int i = 0;
dbName = dbName.Trim();
bool nextIsUpper = true;
while (i < dbName.Length)
{
Char c = dbName[i];
if ((c == '_') || (Char.IsWhiteSpace(c)))
{
nextIsUpper = true;
sb.Append(' ');
}
else
{
if (nextIsUpper)
{
c = Char.ToUpper(c);
}
else
{
c = Char.ToLower(c);
}
nextIsUpper = false;
sb.Append(c);
}
i++;
}
string result = sb.ToString();
return result;
}
public static string FirstToLowerCase(string s)
{
if ((s != null) && (s.Length > 0) && (char.IsUpper(s[0])))
{
string result = new string(char.ToLower(s[0]), 1);
if (s.Length > 1)
{
result += s.Substring(1);
}
return result;
}
else
{
return s;
}
}
public static string FirstToUpperCase(string s)
{
if ((s != null) && (s.Length > 0) && (char.IsLower(s[0])))
{
string result = new string(char.ToUpper(s[0]), 1);
if (s.Length > 1)
{
result += s.Substring(1);
}
return result;
}
else
{
return s;
}
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Chief Architect - Sea Surveillance AS.
Specializing in integrated operations and high performance computing solutions.
I’ve been fooling around with computers since the early eighties, I’ve even done work on CP/M and MP/M.
Wrote my first “real” program on a BBC micro model B based on a series in a magazine at that time. It was fun and I got hooked on this thing called programming ...
A few Highlights:
- High performance application server development
- Model Driven Architecture and Code generators
- Real-Time Distributed Solutions
- C, C++, C#, Java, TSQL, PL/SQL, Delphi, ActionScript, Perl, Rexx
- Microsoft SQL Server, Oracle RDBMS, IBM DB2, PostGreSQL
- AMQP, Apache qpid, RabbitMQ, Microsoft Message Queuing, IBM WebSphereMQ, Oracle TuxidoMQ
- Oracle WebLogic, IBM WebSphere
- Corba, COM, DCE, WCF
- AspenTech InfoPlus.21(IP21), OsiSoft PI
More information about what I do for a living can be found at:
harlinn.com or
LinkedIn
You can contact me at
espen@harlinn.no