private string GetCSDataType(string strTypeName)
        {
            PublicEnums.DataTypes objDataType = 0;
            objDataType = PublicEnums.GetTypeByName((strTypeName));

            switch (objDataType)
            {
            case PublicEnums.DataTypes.BigInt:
            case PublicEnums.DataTypes.Numeric:
                return("Int64");

            case PublicEnums.DataTypes.SmallInt:
            case PublicEnums.DataTypes.Int:
                return("int");

            case PublicEnums.DataTypes.TinyInt:
                return("Int16");

            case PublicEnums.DataTypes.Decimal:
            case PublicEnums.DataTypes.Float:
            case PublicEnums.DataTypes.Money:
            case PublicEnums.DataTypes.Real:
            case PublicEnums.DataTypes.SmallMoney:
                return("float");

            case PublicEnums.DataTypes.Char:
            case PublicEnums.DataTypes.NChar:
            case PublicEnums.DataTypes.NVarchar:
            case PublicEnums.DataTypes.Varchar:
            case PublicEnums.DataTypes.Text:
            case PublicEnums.DataTypes.NText:
            case PublicEnums.DataTypes.XML:
                return("string");

            case PublicEnums.DataTypes.Bit:
                return("bool");

            case PublicEnums.DataTypes.Date:
            case PublicEnums.DataTypes.DateTime:
            case PublicEnums.DataTypes.DateTime2:
            case PublicEnums.DataTypes.DateTimeOffset:
            case PublicEnums.DataTypes.SmallDateTime:
            case PublicEnums.DataTypes.Time:
            case PublicEnums.DataTypes.TimeStamp:
                return("DateTime");

            case PublicEnums.DataTypes.Geography:
            case PublicEnums.DataTypes.Geometry:
            case PublicEnums.DataTypes.HierarchyID:
            case PublicEnums.DataTypes.Image:
            case PublicEnums.DataTypes.SQL_Variant:
            case PublicEnums.DataTypes.Binary:
            case PublicEnums.DataTypes.Varbinary:
            case PublicEnums.DataTypes.UniqueIdentifier:
                return("object");
            }//end switch
            return("");
        }
        public static string GetPrefix(string strTypeName)
        {
            string strPostfix = string.Empty;

            PublicEnums.DataTypes objDataType = 0;
            objDataType = GetTypeByName((strTypeName));
            switch (objDataType)
            {
            case PublicEnums.DataTypes.BigInt:
            case PublicEnums.DataTypes.Int:
            case PublicEnums.DataTypes.Numeric:
            case PublicEnums.DataTypes.SmallInt:
            case PublicEnums.DataTypes.TinyInt:
                return("int");

            case PublicEnums.DataTypes.Decimal:
            case PublicEnums.DataTypes.Float:
            case PublicEnums.DataTypes.Money:
            case PublicEnums.DataTypes.Real:
            case PublicEnums.DataTypes.SmallMoney:
                return("dbl");

            case PublicEnums.DataTypes.Char:
            case PublicEnums.DataTypes.NChar:
            case PublicEnums.DataTypes.Varchar:
            case PublicEnums.DataTypes.NVarchar:
            case PublicEnums.DataTypes.Text:
            case PublicEnums.DataTypes.NText:
            case PublicEnums.DataTypes.XML:
                return("str");

            case PublicEnums.DataTypes.Bit:
                return("bln");

            case PublicEnums.DataTypes.Date:
            case PublicEnums.DataTypes.DateTime:
            case PublicEnums.DataTypes.DateTime2:
            case PublicEnums.DataTypes.DateTimeOffset:
            case PublicEnums.DataTypes.SmallDateTime:
            case PublicEnums.DataTypes.Time:
            case PublicEnums.DataTypes.TimeStamp:
                return("dat");

            case PublicEnums.DataTypes.Geography:
            case PublicEnums.DataTypes.Geometry:
            case PublicEnums.DataTypes.HierarchyID:
            case PublicEnums.DataTypes.Image:
            case PublicEnums.DataTypes.SQL_Variant:
            case PublicEnums.DataTypes.Binary:
            case PublicEnums.DataTypes.Varbinary:
            case PublicEnums.DataTypes.UniqueIdentifier:
                return("obj");
            }
            return("");
        }
        private string GetSignatureList(DatabaseTable dt_table)
        {
            string strSignatureList = string.Empty;

            foreach (Column col in dt_table.Columns)
            {
                if (col.OrdinalPosition == 1)
                {
                    continue;
                }

                PublicEnums.DataTypes objSignatureColumn = 0;
                objSignatureColumn = GetTypeByName((string)col.TypeName);
                string strSignatureColumn = string.Empty;
                switch (objSignatureColumn)
                {
                case PublicEnums.DataTypes.BigInt:
                case PublicEnums.DataTypes.Bit:
                case PublicEnums.DataTypes.Date:
                case PublicEnums.DataTypes.DateTime:
                case PublicEnums.DataTypes.Float:
                case PublicEnums.DataTypes.Geography:
                case PublicEnums.DataTypes.Geometry:
                case PublicEnums.DataTypes.HierarchyID:
                case PublicEnums.DataTypes.Image:
                case PublicEnums.DataTypes.Int:
                case PublicEnums.DataTypes.Money:
                case PublicEnums.DataTypes.Real:
                case PublicEnums.DataTypes.NText:
                case PublicEnums.DataTypes.SmallDateTime:
                case PublicEnums.DataTypes.SmallInt:
                case PublicEnums.DataTypes.SmallMoney:
                case PublicEnums.DataTypes.SQL_Variant:
                case PublicEnums.DataTypes.Text:
                case PublicEnums.DataTypes.TimeStamp:
                case PublicEnums.DataTypes.TinyInt:
                case PublicEnums.DataTypes.UniqueIdentifier:
                case PublicEnums.DataTypes.XML:
                    strSignatureColumn = "@" + col.ColumnName + " " + col.TypeName.ToUpper();
                    break;

                case PublicEnums.DataTypes.Binary:
                case PublicEnums.DataTypes.Char:
                case PublicEnums.DataTypes.NChar:
                    strSignatureColumn = "@" + col.ColumnName + " " + col.TypeName.ToUpper() + "(" + col.Precision.ToString() + ")";
                    break;

                case PublicEnums.DataTypes.DateTime2:
                case PublicEnums.DataTypes.DateTimeOffset:
                case PublicEnums.DataTypes.Time:
                    strSignatureColumn = "@" + col.ColumnName + " " + col.TypeName.ToUpper() + "(" + col.NumericPercision.ToString() + ")";
                    break;

                case PublicEnums.DataTypes.Decimal:
                case PublicEnums.DataTypes.Numeric:
                    strSignatureColumn = "@" + col.ColumnName + " " + col.TypeName.ToUpper() + "(" + col.Precision + ", " + col.NumericScale.ToString() + ")";
                    break;

                case PublicEnums.DataTypes.NVarchar:
                case PublicEnums.DataTypes.Varbinary:
                case PublicEnums.DataTypes.Varchar:
                    if (col.CharacterMaximumLength == -1)
                    {
                        strSignatureColumn = "@" + col.ColumnName + " " + col.TypeName.ToUpper() + "(MAX)";
                    }
                    else
                    {
                        strSignatureColumn = "@" + col.ColumnName + " " + col.TypeName.ToUpper() + "(" + col.Precision + ")";
                    }
                    break;

                default:
                    strSignatureColumn = string.Empty;
                    break;
                }//end switch
                if (strSignatureColumn == string.Empty)
                {
                    return(string.Empty);
                }

                strSignatureList += strSignatureColumn + ", ";
            }//end for
            strSignatureList = strSignatureList.Remove(strSignatureList.LastIndexOf(","));
            return(strSignatureList);
        }