private static object CreateObject(Type type, string json) { if (json == "null" || json == null) { return(null); } var dataType = DataTypeMappings.GetDataType(type); switch (dataType) { case DataType.SByte: case DataType.SByteNullable: return(sbyte.Parse(json)); case DataType.Byte: case DataType.ByteNullable: return(byte.Parse(json)); case DataType.Int16: case DataType.Int16Nullable: return(short.Parse(json)); case DataType.UInt16: case DataType.UInt16Nullable: return(ushort.Parse(json)); case DataType.Int32: case DataType.Int32Nullable: return(int.Parse(json)); case DataType.UInt32: case DataType.UInt32Nullable: return(uint.Parse(json)); case DataType.Int64: case DataType.Int64Nullable: return(long.Parse(json)); case DataType.UInt64: case DataType.UInt64Nullable: return(ulong.Parse(json)); case DataType.Double: case DataType.DoubleNullable: return(double.Parse(json)); case DataType.Single: case DataType.SingleNullable: return(float.Parse(json)); case DataType.Decimal: case DataType.DecimalNullable: return(decimal.Parse(json)); case DataType.DateTime: case DataType.DateTimeNullable: return(JsonToDateTime(json)); case DataType.DateTimeOffset: case DataType.DateTimeOffsetNullable: return(JsonToDateTimeOffset(json)); case DataType.TimeSpan: case DataType.TimeSpanNullable: return(JsonToTimeSpan(json)); case DataType.String: return(JsonToString(json)); case DataType.Boolean: case DataType.BooleanNullable: return(bool.Parse(json)); case DataType.Char: case DataType.CharNullable: return(JsonToChar(json)); case DataType.Guid: case DataType.GuidNullable: return(JsonToGuid(json)); case DataType.BigInteger: case DataType.BigIntegerNullable: return(BigInteger.Parse(json)); case DataType.DataTable: return(JsonToDataTable(json)); case DataType.DataSet: return(JsonToDataSet(json)); case DataType.IEnumerable: return(JsonToIEnumerable(type, json)); case DataType.Uri: return(JsonToUri(json)); case DataType.Enum: return(JsonToEnum(type, json)); case DataType.Object: return(JsonToObject(type, json)); case DataType.Empty: return(JsonToOther(type, json)); default: return(null); } }
/// <summary> /// Create the template output /// </summary> public virtual string TransformText() { this.Write("namespace Borentra.DataAccessLayer\r\n{\r\n using System;\r\n using System.Collec" + "tions.Generic;\r\n using System.Data;\r\n\r\n"); #line 8 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" foreach (var proc in this.Manifest.Values) { #line default #line hidden this.Write(" /// <summary>\r\n /// Class that Represents "); #line 13 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" this.Write(this.ToStringHelper.ToStringWithCulture(proc.Preface)); #line default #line hidden this.Write("."); #line 13 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" this.Write(this.ToStringHelper.ToStringWithCulture(proc.Name)); #line default #line hidden this.Write(" Stored Procedure\r\n /// </summary>\r\n\tpublic partial class "); #line 15 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" this.Write(this.ToStringHelper.ToStringWithCulture(proc.Preface + proc.Name)); #line default #line hidden this.Write(" : IStoredProc\r\n\t{\r\n\t\t#region Members\r\n /// <summary>\r\n /// Stored " + "Proc Name\r\n /// </summary>\r\n\t\tprivate const string StoredProcName = \""); #line 21 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" this.Write(this.ToStringHelper.ToStringWithCulture(proc.Preface)); #line default #line hidden this.Write("."); #line 21 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" this.Write(this.ToStringHelper.ToStringWithCulture(proc.Name)); #line default #line hidden this.Write("\";\r\n\t\t#endregion\r\n\r\n /// <summary>\r\n /// Gets Stored Proc name with" + " Schema\r\n /// </summary>\r\n\t\tpublic string StoredProc\r\n\t\t{\r\n\t\t\tget\r\n\t\t\t{\r\n" + "\t\t\t\treturn "); #line 31 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" this.Write(this.ToStringHelper.ToStringWithCulture(proc.Preface + proc.Name)); #line default #line hidden this.Write(".StoredProcName;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t#region Parameters\r\n"); #line 36 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" foreach (var parameter in proc.Variables) { var paramName = parameter.Name.Replace("@", string.Empty); if (!string.IsNullOrWhiteSpace(paramName)) { var dataTypeCSharp = DataTypeMappings.DataTypeCSharp(parameter.DataType); var dataTypeDb = DataTypeMappings.DataTypeDbType(parameter.DataType); #line default #line hidden this.Write(" /// <summary>\r\n /// Named Parameter Value\r\n /// </summary>\r" + "\n\t\tpublic const string "); #line 48 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" this.Write(this.ToStringHelper.ToStringWithCulture(paramName)); #line default #line hidden this.Write("Parameter = \"@"); #line 48 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" this.Write(this.ToStringHelper.ToStringWithCulture(paramName)); #line default #line hidden this.Write("\";\r\n\t\t\r\n /// <summary>\r\n /// Gets or sets the parameter value\r\n " + " /// </summary>\r\n\t\t[DataMapper("); #line 53 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" this.Write(this.ToStringHelper.ToStringWithCulture(paramName)); #line default #line hidden this.Write("Parameter, "); #line 53 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dataTypeDb)); #line default #line hidden this.Write(")]\r\n\t\tpublic "); #line 54 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dataTypeCSharp)); #line default #line hidden this.Write(" "); #line 54 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" this.Write(this.ToStringHelper.ToStringWithCulture(paramName)); #line default #line hidden this.Write("\r\n\t\t{\r\n\t\t\tget;\r\n\t\t\tset;\r\n\t\t}\r\n\r\n"); #line 60 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" } } #line default #line hidden this.Write("\t\t#endregion\r\n\t}\r\n\r\n"); #line 67 "C:\Users\jamie_000\Documents\GitHub\Borentra-BeastMode\Data\Generator\Template\Dal.tt" } #line default #line hidden this.Write("}"); return(this.GenerationEnvironment.ToString()); }
private static void AppendString(object obj, ref StringBuilder sb) { if (obj == null) { sb.Append("null"); return; } var type = obj.GetType(); var dataType = DataTypeMappings.GetDataType(type); switch (dataType) { case DataType.SByte: case DataType.SByteNullable: case DataType.Byte: case DataType.ByteNullable: case DataType.Int16: case DataType.Int16Nullable: case DataType.UInt16: case DataType.UInt16Nullable: case DataType.Int32: case DataType.Int32Nullable: case DataType.UInt32: case DataType.UInt32Nullable: case DataType.Int64: case DataType.Int64Nullable: case DataType.UInt64: case DataType.UInt64Nullable: case DataType.Double: case DataType.DoubleNullable: case DataType.Single: case DataType.SingleNullable: case DataType.Decimal: case DataType.DecimalNullable: case DataType.BigInteger: case DataType.BigIntegerNullable: sb.Append(obj); break; case DataType.Boolean: case DataType.BooleanNullable: BoolToJson(obj, ref sb); break; case DataType.Char: case DataType.CharNullable: CharToJson(obj, ref sb); break; case DataType.DateTime: case DataType.DateTimeNullable: DateTimeToJson(obj, ref sb); break; case DataType.DateTimeOffset: case DataType.DateTimeOffsetNullable: DateTimeOffsetToJson(obj, ref sb); break; case DataType.TimeSpan: case DataType.TimeSpanNullable: TimeSpanToJson(obj, ref sb); break; case DataType.String: StringToJson(obj, ref sb); break; case DataType.Guid: case DataType.GuidNullable: GuidToJson(obj, ref sb); break; case DataType.DataTable: DataTableToJson(obj as DataTable, ref sb); break; case DataType.DataSet: DataSetToJson(obj as DataSet, ref sb); break; case DataType.IEnumerable: IEnumerableToJson(obj, ref sb); break; case DataType.Uri: UriToJson(obj as Uri, ref sb); break; case DataType.Enum: EnumToJson(obj, ref sb); break; case DataType.Object: case DataType.Empty: ObjectToJson(obj, ref sb); break; } }