Esempio n. 1
0
        public string GenerateProcedureProperties(ProcedureDefinition procedure)
        {
            StringBuilder builder          = new StringBuilder();
            string        templateProperty = Templates.ProcedureProperty;

            foreach (ProcedureParameterDefinition parameter in procedure.Parameters)
            {
                builder.AppendLine();

                string propertyName   = parameter.ToPascalCase(CodeFormatOptions.None);
                string xmlElementName = propertyName;

                if (parameter.Name == procedure.Name)
                {
                    propertyName += "_";
                }
                if (procedure.CharAsBooleans.ContainsKey(parameter.Name))
                {
                    builder.AppendLine(templateProperty.
                                       Replace(Tokens.SchemaAttributes, GeneratePropertyAttribute(parameter)).
                                       Replace(Tokens.XmlAttribute, xmlElementName).
                                       Replace(Tokens.DataTypeShort, TableColumnDefinition.GetDataTypeShort(DbType.Boolean, false, session.Configuration.CodeGen.UseNullableTypes)).
                                       Replace(Tokens.DataTypeLong, "CharAsBoolean").
                                       Replace("#SETOPTION#", "BooleanAsChar").
                                       Replace(Tokens.PropertyName, propertyName).
                                       Replace(Tokens.ColumnName, propertyName));
                }
                else
                {
                    builder.AppendLine(templateProperty.
                                       Replace(Tokens.SchemaAttributes, GeneratePropertyAttribute(parameter)).
                                       Replace(Tokens.XmlAttribute, xmlElementName).
                                       Replace(Tokens.DataTypeShort, parameter.GetDataTypeShort()).
                                       Replace(Tokens.DataTypeLong, parameter.GetDataTypeLong()).
                                       Replace("#SETOPTION#", string.Empty).
                                       Replace(Tokens.PropertyName, propertyName).
                                       Replace(Tokens.ColumnName, propertyName));
                }
            }

            return(builder.ToString());
        }
 public string GetDataTypeShort()
 {
     return(TableColumnDefinition.GetDataTypeShort(dbType, false, configuration.CodeGen.UseNullableTypes));
 }