void Export() { foreach (var reference in Config.DefaultAssemblyReferences) { EntityAssemblyReferences.Add(Resolve(reference)); } var csprojFileGenerator = new CsprojFileGenerator { FileSystem = FileSystem, FileNames = new List <string> { "All.cs" }, NamespaceName = NamingMap.EntityNamespace, IsClientDll = true, ProjectDirectory = Context.NamingMap.EntityProjectDirectory, References = EntityAssemblyReferences }; var csprojFilePath = csprojFileGenerator.Generate(); MsBuildQueue.Push(csprojFilePath); }
void WriteSqlInputOutputTypes() { if (CustomSqlInfo.ResultColumns.Any(r => r.IsReferenceToEntity)) { EntityAssemblyReferences.Add(ReferencedEntityTypeNamingPattern.ReferencedEntityAssemblyPath); } var resultContractName = NamingMap.ResultClassName; if (!CustomSqlInfo.ResultContractIsReferencedToEntity) { sb.AppendLine(); sb.AppendLine("/// <summary>"); sb.AppendLine($"/// Result class of '{CustomSqlInfo.Name}' sql."); sb.AppendLine("/// </summary>"); sb.AppendLine("[Serializable]"); sb.AppendLine($"public sealed class {resultContractName} : CardContractBase"); sb.AppendLine("{"); sb.PaddingCount++; foreach (var item in CustomSqlInfo.ResultColumns) { sb.AppendLine($"public {item.DataTypeInDotnet} {item.NameInDotnet} {{get; set;}}"); } sb.PaddingCount--; sb.AppendLine("}"); } else { resultContractName = ReferencedEntityTypeNamingPattern.ReferencedEntityAccessPath; } var interfaceName = $"ICustomSqlProxy<Common.Types.GenericResponse<{resultContractName}>, {resultContractName}>"; if (CustomSqlInfo.SqlResultIsCollection) { interfaceName = $"ICustomSqlProxy<Common.Types.GenericResponse<List<{resultContractName}>>, List<{resultContractName}>>"; } sb.AppendLine(); sb.AppendLine("/// <summary>"); sb.AppendLine($"/// Parameter class of '{CustomSqlInfo.Name}' sql."); sb.AppendLine("/// </summary>"); sb.AppendLine("[Serializable]"); sb.AppendLine($"public class {NamingMap.InputClassName} : {interfaceName}"); sb.AppendLine("{"); sb.PaddingCount++; foreach (var item in CustomSqlInfo.Parameters) { sb.AppendLine($"public {item.CSharpPropertyTypeName} {item.CSharpPropertyName} {{ get; set; }}"); } sb.AppendLine(); sb.AppendLine($"int {interfaceName}.Index"); sb.AppendLine("{"); sb.AppendLine($" get {{ return {CustomSqlInfo.SwitchCaseIndex}; }}"); sb.AppendLine("}"); sb.PaddingCount--; sb.AppendLine("}"); sb.AppendLine(); sb.AppendLine("[Serializable]"); sb.AppendLine($"public sealed class {NamingMap.InputClassName.RemoveFromEnd("Request")+"Param"} : {NamingMap.InputClassName} " + "{}"); }