static string GetInParameter(TableViewBase pTable, Column c) { StringBuilder wParamBuilder = new StringBuilder(FwkGenerator.TemplateDocument.GetTemplate("ParameterInput").Content); //Si es un tipo de dato string y hacepta nulos se agrega la condicion para decidir si pasar o no el parametros al SP if (c.Nullable && FwkGenerator.GetDbType(c).Contains("string")) { wParamBuilder.Replace("[ConditionalString]", FwkGenerator.TemplateDocument.GetTemplate("ConditionalString").Content); } else { wParamBuilder.Replace("[ConditionalString]", String.Empty); } //quito si esxiste la cadena .Value de [Property_Name].Value.ToString("yy if (!c.Nullable) { wParamBuilder.Replace("Value.", string.Empty); } wParamBuilder.Replace("[ParameterName]", c.Name); wParamBuilder.Replace("[ParameterType]", FwkGenerator.GetDbType(c)); wParamBuilder.Replace("[ParameterValue]", string.Concat("p", pTable.Name, ".", c.Name)); return(wParamBuilder.ToString()); }
static string GetOutParameter(TableViewBase pTable, Column c) { StringBuilder wParamBuilder = new StringBuilder(FwkGenerator.TemplateDocument.GetTemplate("ParameterOutput").Content); wParamBuilder.Replace("[ParameterName]", c.Name); wParamBuilder.Replace("[ParameterType]", FwkGenerator.GetDbType(c)); wParamBuilder.Replace("[ParameterLength]", c.DataType.MaximumLength.ToString()); return(wParamBuilder.ToString()); }
static string GenSPParameters(TableViewBase pTable, CodeGeneratorCommon.MethodActionType pMethodActionType) { StringBuilder wParams = new StringBuilder(); switch (pMethodActionType) { case CodeGeneratorCommon.MethodActionType.Insert: foreach (Column c in pTable.Columns) { if (!FwkGenerator.NotSupportTypes_ToIncludeInBackEnd.Contains(c.DataType.SqlDataType.ToString().ToLower())) { if (c.InPrimaryKey) { wParams.Append(GetOutParameter(pTable, c)); } else { wParams.Append(GetInParameter(pTable, c)); } } } break; case CodeGeneratorCommon.MethodActionType.Update: foreach (Column c in pTable.Columns) { if (!FwkGenerator.NotSupportTypes_ToIncludeInBackEnd.Contains(c.DataType.SqlDataType.ToString().ToLower())) { wParams.Append(GetInParameter(pTable, c)); } } break; case CodeGeneratorCommon.MethodActionType.Delete: Column cPK = FwkGenerator.GetPrimaryKey(pTable); if (cPK != null) { wParams.Append(GetInParameter(cPK.Name, FwkGenerator.GetDbType(cPK))); } else { wParams.Append(GetInParameter("Id", "System.Data.DbType.Int32")); } break; case CodeGeneratorCommon.MethodActionType.SearchByParam: foreach (Column c in pTable.Columns) { if (FwkGenerator.GeColumnFindeable(c)) { wParams.Append(GetInParameter(pTable, c)); } } break; case CodeGeneratorCommon.MethodActionType.Get: wParams.Append(string.Empty); break; } return(wParams.ToString()); }