private void GenerateParameter(ModuleParameter parameter) { _sb.AppendLine("new SqlParameter"); _sb.AppendLine("{"); var sqlDbType = parameter.DbType(); using (_sb.Indent()) { _sb.AppendLine($"ParameterName = \"{parameter.Name}\","); if (_scaleTypes.Contains(sqlDbType)) { if (parameter.Precision > 0) { _sb.AppendLine($"Precision = {parameter.Precision},"); } if (parameter.Scale > 0) { _sb.AppendLine($"Scale = {parameter.Scale},"); } } if (_lengthRequiredTypes.Contains(sqlDbType)) { _sb.AppendLine($"Size = {parameter.Length},"); } if (!parameter.IsReturnValue) { if (parameter.Output) { _sb.AppendLine("Direction = System.Data.ParameterDirection.InputOutput,"); AppendValue(parameter); } else { AppendValue(parameter); } } else { _sb.AppendLine("Direction = System.Data.ParameterDirection.Output,"); } _sb.AppendLine($"SqlDbType = System.Data.SqlDbType.{sqlDbType},"); if (sqlDbType == System.Data.SqlDbType.Structured) { _sb.AppendLine($"TypeName = \"{parameter.TypeName}\","); } } _sb.Append("}"); }
private void GenerateParameter(ModuleParameter parameter, Routine procedure) { Sb.AppendLine("new SqlParameter"); Sb.AppendLine("{"); var sqlDbType = parameter.DbType(); using (Sb.Indent()) { Sb.AppendLine($"ParameterName = \"{Code.Identifier(parameter.Name)}\","); if (sqlDbType.IsScaleType()) { if (parameter.Precision > 0) { Sb.AppendLine($"Precision = {parameter.Precision},"); } if (parameter.Scale > 0) { Sb.AppendLine($"Scale = {parameter.Scale},"); } } if (sqlDbType.IsVarTimeType() && parameter.Scale > 0) { Sb.AppendLine($"Scale = {parameter.Scale},"); } if (sqlDbType.IsLengthRequiredType()) { Sb.AppendLine($"Size = {parameter.Length},"); } if (!parameter.IsReturnValue) { if (parameter.Output) { Sb.AppendLine("Direction = System.Data.ParameterDirection.InputOutput,"); AppendValue(parameter); } else { AppendValue(parameter); } } else { if (procedure.SupportsMultipleResultSet) { Sb.AppendLine("Direction = System.Data.ParameterDirection.ReturnValue,"); } else { Sb.AppendLine("Direction = System.Data.ParameterDirection.Output,"); } } Sb.AppendLine($"SqlDbType = System.Data.SqlDbType.{sqlDbType},"); if (sqlDbType == SqlDbType.Structured) { Sb.AppendLine($"TypeName = \"{parameter.TypeName}\","); } if (sqlDbType == SqlDbType.Udt) { Sb.AppendLine($"UdtTypeName = \"{parameter.TypeName}\","); } } Sb.Append("}"); }