I have solved it myself by creating this function
public static string FormatPhone(string n)
{
string returnNumber = n;
string areaCode = "";
string usPrefix = "";
string usNum = "";
if (!String.IsNullOrEmpty(n))
{
switch (n.Length)
{
case 1:
areaCode = n.Substring(0, 1);
returnNumber = String.Format("({0})", areaCode);
break;
case 2:
areaCode = n.Substring(0, 2);
returnNumber = String.Format("({0})", areaCode);
break;
case 3:
areaCode = n.Substring(0, 3);
returnNumber = String.Format("({0})", areaCode);
break;
case 4:
areaCode = n.Substring(0, 3);
usPrefix = n.Substring(3, 1);
returnNumber = String.Format("({0})-{1}", areaCode, usPrefix);
break;
case 5:
areaCode = n.Substring(0, 3);
usPrefix = n.Substring(3, 2);
returnNumber = String.Format("({0})-{1}", areaCode, usPrefix);
break;
case 6:
areaCode = n.Substring(0, 3);
usPrefix = n.Substring(3, 3);
returnNumber = String.Format("({0})-{1}", areaCode, usPrefix);
break;
case 7:
areaCode = n.Substring(0, 3);
usPrefix = n.Substring(3, 3);
usNum = n.Substring(6, 1);
returnNumber = String.Format("({0})-{1}-{2}", areaCode, usPrefix, usNum);
break;
case 8:
areaCode = n.Substring(0, 3);
usPrefix = n.Substring(3, 3);
usNum = n.Substring(6, 2);
returnNumber = String.Format("({0})-{1}-{2}", areaCode, usPrefix, usNum);
break;
case 9:
areaCode = n.Substring(0, 3);
usPrefix = n.Substring(3, 3);
usNum = n.Substring(6, 3);
returnNumber = String.Format("({0})-{1}-{2}", areaCode, usPrefix, usNum);
break;
case 10:
areaCode = n.Substring(0, 3);
usPrefix = n.Substring(3, 3);
usNum = n.Substring(6, 4);
returnNumber = String.Format("({0})-{1}-{2}", areaCode, usPrefix, usNum);
break;
default:
areaCode = n.Substring(0, 3);
usPrefix = n.Substring(3, 3);
usNum = n.Substring(6, 4);
returnNumber = String.Format("({0})-{1}-{2}", areaCode, usPrefix, usNum);
break;
}
}
return returnNumber;
}