public static string GenerateCode(List <Entity> entities, List <GetType> entitiesDataType, string namespaceIn, string classModifiers, string tableName) { GenrationComment comment = new GenrationComment(); var result = string.Empty; var staticTxt = string.Empty; if (DataTypes.Count > 0) { if (entities.Count > 0) { if (classModifiers.Contains("static")) { staticTxt = "static "; } #region Create User, Title comment.GetDefaultCreate(); #endregion Create User, Title #region Set DLL //Create DLL comment.GetDLLAPICreate(); #endregion Set DLL #region Namespace result += "namespace " + namespaceIn + ".DBMS.API" + Environment.NewLine; result += "{" + Environment.NewLine; #region Table Shema if (classModifiers.Length > 0) { result += "\t" + classModifiers + " class " + tableName + "Schema" + Environment.NewLine; } else { result += "\t" + " class " + tableName + "Schema" + Environment.NewLine; } result += "\t{" + Environment.NewLine; for (int i = 0; i < entities.Count; i++) { result += "\t \tpublic" + " static " + "String" + " " + entities[i].Field.ToString() + " = " + "\"" + entities[i].Field.ToString() + "\"" + ";" + Environment.NewLine; } result += "\t}" + Environment.NewLine; #endregion Table Shema #region Table API result += "\t[Serializable]" + Environment.NewLine; if (classModifiers.Length > 0) { result += "\t" + classModifiers + " class " + tableName + Environment.NewLine; } else { result += "\t" + " class " + tableName + Environment.NewLine; } result += "\t{" + Environment.NewLine; result += "\t\t" + "public " + tableName + "() { }" + Environment.NewLine; for (int i = 0; i < entities.Count; i++) { //foreach (var entity in entities) //{ //result += "\t \tprivate " + staticTxt + GetType(entity.Type.ToString()) + " " + entity.Field.ToString().ToLower() + ";" + Environment.NewLine; //result += "\t\t\t" + "public " + tableName + " () { }" + Environment.NewLine; if (entities[i].Type.ToString() == "bit") { result += "\t \tpublic" + staticTxt + " virtual " + "Nullable<Boolean>" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "bigint") { result += "\t \tpublic" + staticTxt + " virtual " + "Nullable<Int64>" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "binary" || entities[i].Type.ToString() == "image" || entities[i].Type.ToString() == "rowversion" || entities[i].Type.ToString() == "timestamp" || entities[i].Type.ToString() == "varbinary") { //result += "\t\t//Decimal here" + Environment.NewLine; result += "\t \tpublic" + staticTxt + " virtual " + "Byte[]" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "date" || entities[i].Type.ToString() == "datetime" || entities[i].Type.ToString() == "smalldatetime") { result += "\t \tpublic" + staticTxt + " virtual " + "Nullable<DateTime>" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "decimal" || entities[i].Type.ToString() == "money" || entities[i].Type.ToString() == "numeric" || entities[i].Type.ToString() == "smallmoney") { //result += "\t\t//Decimal here" + Environment.NewLine; result += "\t \tpublic" + staticTxt + " virtual " + "Nullable<Decimal>" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "float") { result += "\t \tpublic" + staticTxt + " virtual " + "Nullable<Double>" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "int") { result += "\t \tpublic" + staticTxt + " virtual " + "Nullable<Int32>" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "smallint") { result += "\t \tpublic" + staticTxt + " virtual " + "Nullable<Int>" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "real") { result += "\t \tpublic" + staticTxt + " virtual " + "Nullable<Single>" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "time") { result += "\t \tpublic" + staticTxt + " virtual " + "Nullable<TimeSpan>" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "tinyint") { result += "\t \tpublic" + staticTxt + " virtual " + "Nullable<Byte>" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "uniqueidentifier") { result += "\t \tpublic" + staticTxt + " virtual " + "Nullable<Guid>" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "xml") { result += "\t \tpublic" + staticTxt + " virtual " + "Nullable<Xml>" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (ClassHelperMethod.GetType(entities[i].Type.ToString()).Replace("System.", "").Trim() != "String") { result += "\t \tpublic" + staticTxt + " virtual " + "Nullable<" + ClassHelperMethod.GetType(entities[i].Type.ToString()).Replace("System.", "") + ">" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else { result += "\t \tpublic" + staticTxt + " virtual " + ClassHelperMethod.GetType(entities[i].Type.ToString()).Replace("System.", "") + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } //} } result += "\t}" + Environment.NewLine; #endregion Table API #region Table API Moblie result += "\t[Serializable]" + Environment.NewLine; if (classModifiers.Length > 0) { result += "\t" + classModifiers + " class " + tableName + "Mobile" + Environment.NewLine; } else { result += "\t" + " class " + tableName + "Mobile" + Environment.NewLine; } result += "\t{" + Environment.NewLine; result += "\t\t" + "public " + tableName + "Mobile" + "() { }" + Environment.NewLine; for (int i = 0; i < entities.Count; i++) { //foreach (var entity in entities) //{ //result += "\t \tprivate " + staticTxt + GetType(entity.Type.ToString()) + " " + entity.Field.ToString().ToLower() + ";" + Environment.NewLine; //result += "\t\t\t" + "public " + tableName + " () { }" + Environment.NewLine; if (entities[i].Type.ToString() == "bit") { result += "\t \tpublic" + staticTxt + " virtual " + "Boolean" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "bigint") { result += "\t \tpublic" + staticTxt + " virtual " + "Int64" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "binary" || entities[i].Type.ToString() == "image" || entities[i].Type.ToString() == "rowversion" || entities[i].Type.ToString() == "timestamp" || entities[i].Type.ToString() == "varbinary") { //result += "\t\t//Decimal here" + Environment.NewLine; result += "\t \tpublic" + staticTxt + " virtual " + "Byte[]" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "date" || entities[i].Type.ToString() == "datetime" || entities[i].Type.ToString() == "smalldatetime") { result += "\t \tpublic" + staticTxt + " virtual " + "DateTime" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "decimal" || entities[i].Type.ToString() == "money" || entities[i].Type.ToString() == "numeric" || entities[i].Type.ToString() == "smallmoney") { //result += "\t\t//Decimal here" + Environment.NewLine; result += "\t \tpublic" + staticTxt + " virtual " + "Decimal" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "float") { result += "\t \tpublic" + staticTxt + " virtual " + "Double" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "int") { result += "\t \tpublic" + staticTxt + " virtual " + "Int32" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "smallint") { result += "\t \tpublic" + staticTxt + " virtual " + "Int" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "real") { result += "\t \tpublic" + staticTxt + " virtual " + "Single" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "time") { result += "\t \tpublic" + staticTxt + " virtual " + "TimeSpan" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "tinyint") { result += "\t \tpublic" + staticTxt + " virtual " + "Byte" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "uniqueidentifier") { result += "\t \tpublic" + staticTxt + " virtual " + "Guid" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "xml") { result += "\t \tpublic" + staticTxt + " virtual " + "Xml" + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else if (ClassHelperMethod.GetType(entities[i].Type.ToString()).Replace("System.", "").Trim() != "String") { result += "\t \tpublic" + staticTxt + " virtual " + ClassHelperMethod.GetType(entities[i].Type.ToString()).Replace("System.", "") + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } else { result += "\t \tpublic" + staticTxt + " virtual " + ClassHelperMethod.GetType(entities[i].Type.ToString()).Replace("System.", "") + " " + entities[i].Field.ToString() + " { get ; set;}" + Environment.NewLine; } //} } result += "\t}" + Environment.NewLine; #endregion Table API Moblie #region Entity if (classModifiers.Length > 0) { result += "\t" + classModifiers + " class " + tableName + "Entity : " + tableName + Environment.NewLine; } else { result += "\t" + " class " + tableName + "Entity : " + tableName + Environment.NewLine; } result += "\t{" + Environment.NewLine; for (int i = 0; i < entities.Count; i++) { //foreach (var entity in entities) //{ result += "\t \tpublic " + "object " + staticTxt + "set" + entities[i].Field.ToString() + Environment.NewLine; result += "\t \t{" + Environment.NewLine; if (entities[i].Type.ToString() == "bit") { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + "Boolean.Parse(value.ToString());" + "}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "bigint") { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + "Int64.Parse(value.ToString());" + "}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "binary" || entities[i].Type.ToString() == "image" || entities[i].Type.ToString() == "rowversion" || entities[i].Type.ToString() == "timestamp" || entities[i].Type.ToString() == "varbinary") { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + "value as Byte[];" + "}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "date" || entities[i].Type.ToString() == "datetime" || entities[i].Type.ToString() == "smalldatetime") { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + "DateTime.Parse(value.ToString());" + "}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "decimal" || entities[i].Type.ToString() == "money" || entities[i].Type.ToString() == "numeric" || entities[i].Type.ToString() == "smallmoney") { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + "Decimal.Parse(value.ToString());" + "}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "float") { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + "Double.Parse(value.ToString());" + "}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "int") { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + "Int32.Parse(value.ToString());" + "}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "smallint") { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + "Int64.Parse(value.ToString());" + "}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "real") { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + "Int.Parse(value.ToString());" + "}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "time") { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + "TimeSpan.Parse(value.ToString());" + "}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "tinyint") { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + "Byte.Parse(value.ToString());" + "}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "uniqueidentifier") { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + "Guid.Parse(value.ToString());" + "}" + Environment.NewLine; } else if (entities[i].Type.ToString() == "xml") { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + "Xml.Parse(value.ToString());" + "}" + Environment.NewLine; } else if (ClassHelperMethod.GetType(entities[i].Type.ToString()).Replace("System.", "").Trim() == "String") { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + "value.ToString();" + "}" + Environment.NewLine; } else { result += "\t\t\tset" + " { " + entities[i].Field.ToString() + " = " + ClassHelperMethod.GetType(entities[i].Type.ToString()).Replace("System.", "") + ".Parse(value.ToString());" + "}" + Environment.NewLine; } result += "\t \t}" + Environment.NewLine; // } } result += "\t}" + Environment.NewLine; #endregion Entity #region Table View result += "\t/// <summary>" + Environment.NewLine; result += "\t/// create a class to store additional data related to customer" + Environment.NewLine; result += "\t/// </summary>" + Environment.NewLine; result += "\t[Serializable]" + Environment.NewLine; if (classModifiers.Length > 0) { result += "\t" + classModifiers + " class " + tableName + "Viewer : " + tableName + Environment.NewLine; } else { result += "\t" + " class " + tableName + "Viewer : " + tableName + Environment.NewLine; } result += "\t{" + Environment.NewLine; result += "\t}" + Environment.NewLine; #endregion Table View #region Table Mobile View result += "\t/// <summary>" + Environment.NewLine; result += "\t/// create a class to store additional data related " + tableName + "MobileViewer : " + tableName + "Mobile" + Environment.NewLine; result += "\t/// </summary>" + Environment.NewLine; result += "\t[Serializable]" + Environment.NewLine; if (classModifiers.Length > 0) { result += "\t" + classModifiers + " class " + tableName + "MobileViewer : " + tableName + "Mobile" + Environment.NewLine; } else { result += "\t" + " class " + tableName + "MobileViewer : " + tableName + "Mobile" + Environment.NewLine; } result += "\t{" + Environment.NewLine; result += "\t}" + Environment.NewLine; #endregion Table Mobile View #region Class ReturnField result += "\t/// <summary>" + Environment.NewLine; result += "\t/// customer return fields" + Environment.NewLine; result += "\t/// </summary>" + Environment.NewLine; if (classModifiers.Length > 0) { result += "\tpublic" + " enum" + " " + tableName + "ReturnField" + Environment.NewLine; } else { result += "\tpublic" + " enum " + tableName + "ReturnField" + Environment.NewLine; } result += "\t{" + Environment.NewLine; for (int i = 0; i < entities.Count; i++) { //foreach (var entity in entities) //{ if (i < entities.Count - 1) { result += "\t\t" + "[StringValue(" + "\"" + tableName + "." + entities[i].Field.ToString() + "\"" + ")]" + Environment.NewLine; result += "\t \t" + entities[i].Field.ToString() + "," + Environment.NewLine; } else { result += "\t\t" + "[StringValue(" + "\"" + tableName + "." + entities[i].Field.ToString() + "\"" + ")]" + Environment.NewLine; result += "\t \t" + entities[i].Field.ToString() + Environment.NewLine; } //} } result += "\t}" + Environment.NewLine; #endregion Class ReturnField #region Table Filte result += "\t[Serializable]" + Environment.NewLine; if (classModifiers.Length > 0) { result += "\t" + classModifiers + " class " + tableName + "Filter : " + tableName + Environment.NewLine; } else { result += "\t" + " class " + tableName + "Filter : " + tableName + Environment.NewLine; } result += "\t{" + Environment.NewLine; result += "\t}" + Environment.NewLine; #endregion Table Filte #region TransactionAck if (classModifiers.Length > 0) { result += "\t" + classModifiers + " class " + "TransactionGet" + tableName + " : TransactionAck<" + tableName + ">" + Environment.NewLine; } else { result += "\t" + " class " + "TransactionGet" + tableName + " : TransactionAck<" + tableName + ">" + Environment.NewLine; } result += "\t{" + Environment.NewLine; result += "\t}" + Environment.NewLine; #endregion TransactionAck #region TransactionAckResultList Table if (classModifiers.Length > 0) { result += "\t" + classModifiers + " class " + "TransactionGet" + tableName + "s" + " : TransactionAckResultList<" + tableName + ">" + Environment.NewLine; } else { result += "\t" + " class " + "TransactionGet" + tableName + "s" + " : TransactionAckResultList<" + tableName + ">" + Environment.NewLine; } result += "\t{" + Environment.NewLine; result += "\t}" + Environment.NewLine; #endregion TransactionAckResultList Table #region TransactionAckResultList Field String if (classModifiers.Length > 0) { result += "\t" + classModifiers + " class " + "TransactionGet" + tableName + "Fields" + " : TransactionAckResultList<String>" + Environment.NewLine; } else { result += "\t" + " class " + "TransactionGet" + tableName + "Fields" + " : TransactionAckResultList<String>" + Environment.NewLine; } result += "\t{" + Environment.NewLine; result += "\t}" + Environment.NewLine; #endregion TransactionAckResultList Field String #region TransactionAck TableView if (classModifiers.Length > 0) { result += "\t" + classModifiers + " class " + "TransactionGet" + tableName + "Viewer : TransactionAck<" + tableName + "Viewer>" + Environment.NewLine; } else { result += "\t" + " class " + "TransactionGet" + tableName + "Viewer : TransactionAck<" + tableName + "Viewer>" + Environment.NewLine; } result += "\t{" + Environment.NewLine; result += "\t}" + Environment.NewLine; #endregion TransactionAck TableView #region TransactionAckResultList Table View if (classModifiers.Length > 0) { result += "\tpublic" + " class TransactionGet" + tableName + "Viewers : TransactionAckResultList<" + tableName + "Viewer>" + Environment.NewLine; } else { result += "\t" + "class TransactionGet" + tableName + "Viewers : TransactionAckResultList<" + tableName + "Viewer>" + Environment.NewLine; } result += "\t{" + Environment.NewLine; result += "\t}" + Environment.NewLine; #endregion TransactionAckResultList Table View #region Interface Table API if (classModifiers.Length > 0) { result += "\t" + "public interface I" + tableName + "API" + Environment.NewLine; } else { result += "\t" + "public interface I" + tableName + "API" + Environment.NewLine; } result += "\t{" + Environment.NewLine; if (entitiesDataType.Count > 1) { result += "\t\tTransactionCommandAck Save" + tableName + " (" + tableName + " " + tableName + "Obj , bool isUpdate );" + Environment.NewLine; } else { result += "\t\tList<TransactionCommandAck> Save" + tableName + " (" + tableName + " " + tableName + "Obj, String strTableName, String strUserId, Domain.Core.Validation.IValidateFunction iValFunc);" + Environment.NewLine; } if (entitiesDataType.Count > 1) { result += "\t\tTransactionCommandAck DeleteByID" + tableName + " (" + ClassHelperMethod.GetType(entitiesDataType[0].TypeField.ToString()).Replace("System.", "") + " " + entitiesDataType[0].NameField + "," + ClassHelperMethod.GetType(entitiesDataType[1].TypeField.ToString()).Replace("System.", "") + " " + entitiesDataType[1].NameField + ");" + Environment.NewLine; } else { foreach (var entityType in entitiesDataType) { if (entityType.NameField.ToString() == null | entityType.NameField.ToString() == "") { } else { if (entityType.TypeField.ToString().ToUpper() == "CHAR" | entityType.TypeField.ToString().ToUpper() == "NCHAR" | entityType.TypeField.ToString().ToUpper() == "VARCHAR" | entityType.TypeField.ToString().ToUpper() == "NVARCHAR") { result += "\t\tTransactionCommandAck DeleteByID" + tableName + " (string " + entityType.NameField + ");" + Environment.NewLine; } else { result += "\t\tTransactionCommandAck DeleteByID" + tableName + " (" + entityType.TypeField.ToString() + " " + entityType.NameField + ");" + Environment.NewLine; } } } } //result += "\t\tTransactionCommandAck DeleteByID" + tableName + " (" + " int" + tableName + "ID );" + Environment.NewLine; //result += "\t\tTransactionGet" + tableName + "s" + " Search" + tableName + "(string keyword, SearchCondition searchCondition, bool isANDSearch);" + Environment.NewLine; //result += "\t\tTransactionGet" + tableName + "s" + " Search" + tableName + "(DateTime startDate, DateTime endDate, bool isANDSearch);" + Environment.NewLine; //result += "\t\tTransactionGet" + tableName + "Viewers Search" + tableName + "(string keyword, DateTime startDate, DateTime endDate, List<" + tableName + "ReturnField> lstReturnFields, SearchCondition searchCondition, bool isANDSearch);" + Environment.NewLine; result += "\t\tTransactionGet" + tableName + "Viewers Search" + tableName + "(string keyword, DateTime startDate, DateTime endDate, List<" + tableName + "ReturnField> lstReturnFields, SearchCondition searchCondition, bool isANDSearch, String strCustomerID);" + Environment.NewLine; // result += "\t\tTransactionGet" + tableName + "Viewers Search" + tableName + "(" + tableName + "Filter" + " obj" + tableName + "Filter" + ", List<" + tableName + "ReturnField> lstReturnFields, SearchCondition objSearchCondition, bool isANDSearch);" + Environment.NewLine; result += "\t\tTransactionGet" + tableName + "Viewers Search" + tableName + "(" + tableName + "Filter" + " obj" + tableName + "Filter" + ", List<" + tableName + "ReturnField> lstReturnFields, SearchCondition objSearchCondition, bool isANDSearch, String strCustomerID);" + Environment.NewLine; result += "\t\tTransactionGet" + tableName + "Viewers Search" + tableName + "( List<" + tableName + "ReturnField> lstReturnFields, String strWhereStatement, List<SearchSchema> lstSearchSchemas);" + Environment.NewLine; result += "\t\tTransactionGet" + tableName + "Viewers Search" + tableName + "(string keyword, DateTime startDate, DateTime endDate, List<" + tableName + "ReturnField> lstReturnFields, SearchCondition searchCondition, bool isANDSearch, String strCustomerID, bool isDistinct);" + Environment.NewLine; result += "\t\tTransactionGet" + tableName + "Viewers Search" + tableName + "(" + tableName + "Filter obj" + tableName + "Filter, List<" + tableName + "ReturnField> lstReturnFields, SearchCondition objSearchCondition, bool isANDSearch, String strCustomerID, bool isDistinct);" + Environment.NewLine; result += "\t\tTransactionGet" + tableName + "Viewers Search" + tableName + "(List<" + tableName + "ReturnField> lstReturnFields, String strWhereStatement, List<SearchSchema> lstSearchSchemas, bool isDistinct);" + Environment.NewLine; result += "\t\tTransactionGet" + tableName + "Viewers Search" + tableName + "(String strSelectStatement, String strJoinStatement, String strWhereStatement, List<SqlParameter> lstParameters);" + Environment.NewLine; result += "" + Environment.NewLine; result += "\t\t//mobile" + Environment.NewLine; result += "\t\tint Mobile_Insert" + tableName + "(" + tableName + "Mobile obj" + tableName + ");" + Environment.NewLine; result += "\t\tint Mobile_Update" + tableName + "(" + tableName + "Mobile obj" + tableName + ");" + Environment.NewLine; if (entitiesDataType.Count > 1) { result += "\t\tint Mobile_Delete" + tableName + "(" + ClassHelperMethod.GetType(entitiesDataType[0].TypeField.ToString()).Replace("System.", "") + " " + entitiesDataType[0].NameField + "," + ClassHelperMethod.GetType(entitiesDataType[1].TypeField.ToString()).Replace("System.", "") + " " + entitiesDataType[1].NameField + ");" + Environment.NewLine; } else { foreach (var entityType in entitiesDataType) { if (entityType.NameField.ToString() == null | entityType.NameField.ToString() == "") { } else { result += "\t\tint Mobile_Delete" + tableName + "(" + entityType.TypeField.ToString() + " " + entityType.NameField + ");" + Environment.NewLine; } } } if (entitiesDataType.Count > 1) { result += "\t\tint Mobile_Delete" + tableName + "ByListOf" + ClassHelperMethod.GetType(entitiesDataType[0].TypeField.ToString()).Replace("System.", "") + "(List<int> lst" + ClassHelperMethod.GetType(entitiesDataType[0].TypeField.ToString()).Replace("System.", "") + ");" + Environment.NewLine; //result += "\t\tint Mobile_Delete" + tableName + "(" + ClassHelperMethod.GetType(entitiesDataType[0].TypeField.ToString()).Replace("System.", "") + " " + entitiesDataType[0].NameField + "," + ClassHelperMethod.GetType(entitiesDataType[1].TypeField.ToString()).Replace("System.", "") + " " + entitiesDataType[1].NameField + ");" + Environment.NewLine; } else { foreach (var entityType in entitiesDataType) { if (entityType.NameField.ToString() == null | entityType.NameField.ToString() == "") { } else { result += "\t\tint Mobile_Delete" + tableName + "ByListOf" + entityType.NameField + "(List<int> lst" + entityType.NameField + ");" + Environment.NewLine; } } } result += "\t\tList<" + tableName + "Mobile> Mobile_Get" + tableName + "ByCustomerID(String strCustomerID);" + Environment.NewLine; result += "\t}" + Environment.NewLine; #endregion Interface Table API result += "}" + Environment.NewLine; #endregion Namespace } } return(result); }
public static string GenerateCodeContract(List <Entity> entities, List <GetType> entitiesDataType, string namespaceIn, string classModifiers, string tableName) { var result = string.Empty; var staticTxt = string.Empty; if (DataTypes.Count > 0) { if (entities.Count > 0) { if (classModifiers.Contains("static")) { staticTxt = "static "; } result += " " + Environment.NewLine; result += "//////////////////////////////////////////////////////////////////////////////////////////////////////" + Environment.NewLine; result += "// // " + Environment.NewLine; result += "// Purpose: //" + Environment.NewLine; result += "// Created Date:" + DateTime.Now.ToString() + " //" + Environment.NewLine; result += "// Last Modified Date: " + DateTime.Now.ToString() + " //" + Environment.NewLine; result += "// Author: DSI Group //" + Environment.NewLine; result += "// //" + Environment.NewLine; result += "//////////////////////////////////////////////////////////////////////////////////////////////////////" + Environment.NewLine; #region Set DLL result += "using System;" + Environment.NewLine; result += "using System.Collections.Generic;" + Environment.NewLine; result += "using System.Linq;" + Environment.NewLine; result += "using System.Text;" + Environment.NewLine; result += "using System.Runtime.Serialization;" + Environment.NewLine; result += "using System.ServiceModel;" + Environment.NewLine; #endregion Set DLL #region Namespace result += "namespace " + namespaceIn + ".Contract.Service" + Environment.NewLine; result += "{" + Environment.NewLine; #region Class result += "\t" + "[KnownType(typeof(" + namespaceIn + ".DBMS.API." + tableName + "Viewer))]" + Environment.NewLine; result += "\t" + "[DataContract(Name = " + tableName + "Viewer" + ")]" + Environment.NewLine; if (classModifiers.Length > 0) { result += "\t" + classModifiers + " class " + tableName + "Service : " + namespaceIn + ".DBMS.API." + tableName + "Viewer" + Environment.NewLine; } else { result += "\t" + " class " + tableName + "Service : " + namespaceIn + ".DBMS.API." + tableName + "Viewer" + Environment.NewLine; } result += "\t{" + Environment.NewLine; #region Fields & Props for (int i = 0; i < entities.Count; i++) { //foreach (var entity in entities) //{ result += "\t \t[DataMember]" + Environment.NewLine; if (ClassHelperMethod.GetType(entities[i].Type.ToString()).Replace("System.", "").Trim().ToUpper() == "STRING") { //result += "\t \t [DataMember]" + Environment.NewLine; result += "\t \tpublic " + "override " + ClassHelperMethod.GetType(entities[i].Type.ToString()).Replace("System.", "") + " " + entities[i].Field.ToString() + Environment.NewLine; result += "\t \t{" + Environment.NewLine; result += "\t\t\tget" + Environment.NewLine; result += "\t\t\t{" + Environment.NewLine; result += "\t\t\t\treturn " + "base." + entities[i].Field.ToString() + ";" + Environment.NewLine; result += "\t\t\t}" + Environment.NewLine; result += "\t\t\tset" + Environment.NewLine; result += "\t\t\t{" + Environment.NewLine; result += "\t\t\t\t" + "base." + entities[i].Field.ToString() + " = value;" + Environment.NewLine; result += "\t\t\t}" + Environment.NewLine; result += "\t \t}" + Environment.NewLine; } else if (entities[i].Type.ToString().ToUpper() == "INT") { //result += "\t \t [DataMember]" + Environment.NewLine; result += "\t \tpublic " + "override " + entities[i].Type.ToString() + "? " + entities[i].Field.ToString() + Environment.NewLine; result += "\t \t{" + Environment.NewLine; result += "\t\t\tget" + Environment.NewLine; result += "\t\t\t{" + Environment.NewLine; result += "\t\t\t\treturn " + "base." + entities[i].Field.ToString() + ";" + Environment.NewLine; result += "\t\t\t}" + Environment.NewLine; result += "\t\t\tset" + Environment.NewLine; result += "\t\t\t{" + Environment.NewLine; result += "\t\t\t\t" + "base." + entities[i].Field.ToString() + " = value;" + Environment.NewLine; result += "\t\t\t}" + Environment.NewLine; result += "\t \t}" + Environment.NewLine; } else { //result += "\t \t [DataMember]" + Environment.NewLine; result += "\t \tpublic " + "override " + ClassHelperMethod.GetType(entities[i].Type.ToString()).Replace("System.", "") + "? " + entities[i].Field.ToString() + Environment.NewLine; result += "\t \t{" + Environment.NewLine; result += "\t\t\tget" + Environment.NewLine; result += "\t\t\t{" + Environment.NewLine; result += "\t\t\t\treturn " + "base." + entities[i].Field.ToString() + ";" + Environment.NewLine; result += "\t\t\t}" + Environment.NewLine; result += "\t\t\tset" + Environment.NewLine; result += "\t\t\t{" + Environment.NewLine; result += "\t\t\t\t" + "base." + entities[i].Field.ToString() + " = value;" + Environment.NewLine; result += "\t\t\t}" + Environment.NewLine; result += "\t \t}" + Environment.NewLine; } //} } #endregion Fields & Props result += "\t}" + Environment.NewLine; #endregion Class #region Interface result += "\t[ServiceContract]" + Environment.NewLine; if (classModifiers.Length > 0) { result += "\t" + "public interface" + " I" + tableName + "Service" + Environment.NewLine; } else { result += "\t" + "public interface" + " I" + tableName + "Service" + Environment.NewLine; } result += "\t{" + Environment.NewLine; result += "\t\t[OperationContract]" + Environment.NewLine; result += "\t\t" + namespaceIn + ".DBMS.API.TransactionCommandAck Save" + tableName + "(" + namespaceIn + ".DBMS.API." + tableName + " " + tableName.ToLower() + "Obj);" + Environment.NewLine; result += "\t\t[OperationContract]" + Environment.NewLine; result += "\t\t" + namespaceIn + ".DBMS.API.TransactionGet" + tableName + "Fields Save" + tableName + "(" + namespaceIn + ".DBMS.API." + tableName + " " + tableName.ToLower() + "Obj," + " String strUserId" + ");" + Environment.NewLine; result += "\t\t[OperationContract]" + Environment.NewLine; foreach (var entityType in entitiesDataType) { result += "\t\t" + namespaceIn + ".DBMS.API.TransactionCommandAck DeleteByID" + tableName + "(" + entityType.TypeField.ToString() + " " + entityType.NameField.ToString() + ");" + Environment.NewLine; } result += "\t\t[OperationContract]" + Environment.NewLine; result += "\t\t" + namespaceIn + ".DBMS.API.TransactionGet" + tableName + " Search" + tableName + "(" + "string keyword," + namespaceIn + ".DBMS.API.SearchCondition searchCondition, " + "bool isANDSearch);" + Environment.NewLine; result += "\t\t[OperationContract]" + Environment.NewLine; result += "\t\t" + namespaceIn + ".DBMS.API.TransactionGet" + tableName + " Search" + tableName + "(" + "DateTime startDate, DateTime endDate, bool isANDSearch" + ");" + Environment.NewLine; result += "\t\t[OperationContract]" + Environment.NewLine; result += "\t\t" + namespaceIn + ".DBMS.API.TransactionGet" + tableName + "Viewers" + " Search" + tableName + "(" + namespaceIn + ".DBMS.API." + tableName + "Filter " + "obj" + tableName + "Filter, " + "List<" + namespaceIn + ".DBMS.API." + tableName + "ReturnField> lstReturnFields, " + namespaceIn + ".DBMS.API.SearchCondition objSearchCondition, bool isANDSearch" + ");" + Environment.NewLine; result += "\t\t[OperationContract]" + Environment.NewLine; result += "\t\t" + namespaceIn + ".DBMS.API.TransactionGet" + tableName + "Viewers" + " Search" + tableName + "(" + "string keyword, DateTime startDate, DateTime endDate," + "List<" + namespaceIn + ".DBMS.API." + tableName + "ReturnField> lstReturnFields, " + namespaceIn + ".DBMS.API.SearchCondition objSearchCondition, bool isANDSearch" + ");" + Environment.NewLine; result += "\t}" + Environment.NewLine; #endregion Interface result += "}" + Environment.NewLine; #endregion Namespace } } return(result); }