Skip to content

Commit 6389023

Browse files
committed
ASP.Net
- Generator controller fixed Core - more formatting options added - file, class, method, property and field case fixed - nullable types added EntityFramework - execute StoredProcedures via DataContext added Tsql - nullable types fixed - read StoredProcedures added - key type fixed
1 parent 0ff5201 commit 6389023

File tree

127 files changed

+1147
-332
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+1147
-332
lines changed

Angular.Tests/FullStageTests.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ public void Initialize()
4343
public void CustomHttpClientType()
4444
{
4545
Assert.AreEqual(true, this.Run(Resources.custom_client_type), "Generation not successful");
46-
Assert.AreEqual(1, this.output.Files.Count);
47-
Assert.AreEqual(Resources.custom_values_service_ts, this.output.Files["src\\app\\services\\values-service.ts"]);
46+
Assert.AreEqual(2, this.output.Files.Count);
47+
Assert.AreEqual(Resources.custom_values_service_ts, this.output.Files["src\\app\\services\\custom-values-service.ts"]);
4848
}
4949

5050
private bool Run(string configuration)

Angular.Tests/Results/custom-values-service.ts.result

+13-12
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
// tslint:disable
22

33
import { CustomHttpClient } from "../../custom-http-client";
4+
import { Value } from "../models/value";
45
import { Injectable } from "@angular/core";
56
import { Observable } from "rxjs";
67
import { Subject } from "rxjs";
78

89
@Injectable({
910
providedIn: "root"
1011
})
11-
export class ValuesService {
12+
export class CustomValuesService {
1213
private readonly http: CustomHttpClient;
1314
public serviceUrl: string = "";
1415

@@ -18,10 +19,10 @@ export class ValuesService {
1819

1920
public get(httpOptions?: {}): Observable<string[]> {
2021
let subject = new Subject<string[]>();
21-
this.http.get(this.serviceUrl + "", httpOptions).subscribe(result => {
22+
this.http.get(this.serviceUrl + "/Values", httpOptions).subscribe(result => {
2223
const list: string[] = [];
2324
for (const entry of <[]>result) {
24-
list.push(new string(entry));
25+
list.push(<string>entry);
2526

2627
}
2728
subject.next(list);
@@ -30,28 +31,28 @@ export class ValuesService {
3031
return subject;
3132
}
3233

33-
public get2(id: number, httpOptions?: {}): Observable<string> {
34-
let subject = new Subject<string>();
35-
this.http.get(this.serviceUrl + "?id=" + id, httpOptions).subscribe(result => {
36-
const model = new string(result);
34+
public get2(id: number, httpOptions?: {}): Observable<Value> {
35+
let subject = new Subject<Value>();
36+
this.http.get(this.serviceUrl + "/Values?id=" + id, httpOptions).subscribe(result => {
37+
const model = new Value(result);
3738
subject.next(model);
3839
subject.complete();
3940
}, error => subject.error(error));
4041
return subject;
4142
}
4243

43-
public post(value: string, httpOptions?: {}): Observable<void> {
44+
public post(value: Value, httpOptions?: {}): Observable<void> {
4445
let subject = new Subject<void>();
45-
this.http.post(this.serviceUrl + "", value, httpOptions).subscribe(() => {
46+
this.http.post(this.serviceUrl + "/Values", value, httpOptions).subscribe(() => {
4647
subject.next();
4748
subject.complete();
4849
}, error => subject.error(error));
4950
return subject;
5051
}
5152

52-
public put(id: number, value: string, httpOptions?: {}): Observable<void> {
53+
public put(id: number, value: Value, httpOptions?: {}): Observable<void> {
5354
let subject = new Subject<void>();
54-
this.http.put(this.serviceUrl + "?id=" + id, value, httpOptions).subscribe(() => {
55+
this.http.put(this.serviceUrl + "/Values?id=" + id, value, httpOptions).subscribe(() => {
5556
subject.next();
5657
subject.complete();
5758
}, error => subject.error(error));
@@ -60,7 +61,7 @@ export class ValuesService {
6061

6162
public delete(id: number, httpOptions?: {}): Observable<void> {
6263
let subject = new Subject<void>();
63-
this.http.delete(this.serviceUrl + "?id=" + id, httpOptions).subscribe(() => {
64+
this.http.delete(this.serviceUrl + "/Values?id=" + id, httpOptions).subscribe(() => {
6465
subject.next();
6566
subject.complete();
6667
}, error => subject.error(error));

Angular/Configurations/AngularWriteConfiguration.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
using KY.Generator.Configuration;
2+
using KY.Generator.Configurations;
23
using KY.Generator.TypeScript.Languages;
34

45
namespace KY.Generator.Angular.Configurations
56
{
6-
public class AngularWriteConfiguration : ConfigurationBase
7+
public class AngularWriteConfiguration : ConfigurationBase, IFormattableConfiguration
78
{
89
public AngularWriteServiceConfiguration Service { get; set; }
910
public AngularWriteModelConfiguration Model { get; set; }

Angular/KY.Generator.Angular.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<Authors>KY-Programming</Authors>
66
<Company>KY-Programming</Company>
77
<Product>KY.Generator</Product>
8-
<Version>2.5.2</Version>
8+
<Version>2.6.0</Version>
99
<Copyright>2019 - KY-Programming</Copyright>
1010
<Description>Angular Module for KY-Generator
1111
Download KY.Generator.CLI to use this module</Description>

Angular/Writers/AngularServiceWriter.cs

+7-7
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,14 @@ public virtual void Write(AngularWriteConfiguration configuration, List<ITransfe
3838
ClassTemplate classTemplate = files.AddFile(configuration.Service.RelativePath, configuration.AddHeader)
3939
.AddNamespace(string.Empty)
4040
.AddClass(configuration.Service.Name ?? controllerName + "Service")
41-
.FormatName(configuration.Language, configuration.FormatNames)
41+
.FormatName(configuration)
4242
.WithUsing(httpClient, httpClientImport)
4343
.WithUsing("Injectable", "@angular/core")
4444
.WithUsing("Observable", "rxjs")
4545
.WithUsing("Subject", "rxjs")
4646
.WithAttribute("Injectable", Code.AnonymousObject().WithProperty("providedIn", Code.String("root")));
47-
FieldTemplate httpField = classTemplate.AddField("http", Code.Type(httpClient)).Readonly().FormatName(configuration.Language, configuration.FormatNames);
48-
FieldTemplate serviceUrlField = classTemplate.AddField("serviceUrl", Code.Type("string")).Public().FormatName(configuration.Language, configuration.FormatNames).Default(Code.String(string.Empty));
47+
FieldTemplate httpField = classTemplate.AddField("http", Code.Type(httpClient)).Readonly().FormatName(configuration);
48+
FieldTemplate serviceUrlField = classTemplate.AddField("serviceUrl", Code.Type("string")).Public().FormatName(configuration).Default(Code.String(string.Empty));
4949
classTemplate.AddConstructor().WithParameter(Code.Type(httpClient), "http")
5050
.WithCode(Code.This().Field(httpField).Assign(Code.Local("http")).Close());
5151
string relativeModelPath = FileSystem.RelativeTo(configuration.Model?.RelativePath ?? ".", configuration.Service.RelativePath);
@@ -54,14 +54,14 @@ public virtual void Write(AngularWriteConfiguration configuration, List<ITransfe
5454
ICodeFragment errorCode = Code.Lambda("error", Code.Local("subject").Method("error", Code.Local("error")));
5555
this.MapType(controller.Language, configuration.Language, action.ReturnType);
5656
TypeTemplate returnType = action.ReturnType.ToTemplate();
57-
this.AddUsing(action.ReturnType, classTemplate, configuration.Language, relativeModelPath);
57+
this.AddUsing(action.ReturnType, classTemplate, configuration, relativeModelPath);
5858
MethodTemplate methodTemplate = classTemplate.AddMethod(action.Name, Code.Generic("Observable", returnType))
59-
.FormatName(configuration.Language, configuration.FormatNames);
59+
.FormatName(configuration);
6060
foreach (HttpServiceActionParameterTransferObject parameter in action.Parameters)
6161
{
6262
this.MapType(controller.Language, configuration.Language, parameter.Type);
63-
this.AddUsing(parameter.Type, classTemplate, configuration.Language, relativeModelPath);
64-
ParameterTemplate parameterTemplate = methodTemplate.AddParameter(parameter.Type.ToTemplate(), parameter.Name).FormatName(configuration.Language, configuration.FormatNames);
63+
this.AddUsing(parameter.Type, classTemplate, configuration, relativeModelPath);
64+
ParameterTemplate parameterTemplate = methodTemplate.AddParameter(parameter.Type.ToTemplate(), parameter.Name).FormatName(configuration);
6565
mapping.Add(parameter, parameterTemplate);
6666
}
6767
methodTemplate.AddParameter(Code.Type("{}"), "httpOptions?");

Angular/Writers/AngularWriter.cs

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using KY.Core.Dependency;
33
using KY.Generator.Angular.Configurations;
44
using KY.Generator.Configuration;
5+
using KY.Generator.Configurations;
56
using KY.Generator.Output;
67
using KY.Generator.Templates;
78
using KY.Generator.Transfer;

AspDotNet.Tests/Results/GeneratorController.cs.result

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
// ReSharper disable All
22

33
using System;
4-
using System.Collections.Generic;
54
using System.Linq;
5+
using System.Web;
66
using System.Web.Http;
7+
using System.Web.Mvc;
78
using KY.Generator;
89
using KY.Generator.Output;
910

@@ -25,7 +26,7 @@ namespace KY.Generator.Test.Controllers
2526
generator.ParseConfiguration(configuration);
2627
generator.Run();
2728

28-
HttpContext.Current.Cache[id] = output as MemoryOutput;
29+
HttpContext.Current.Cache[id] = output;
2930
return id;
3031
}
3132

@@ -42,7 +43,7 @@ namespace KY.Generator.Test.Controllers
4243
generator.ParseCommand(command);
4344
generator.Run();
4445

45-
HttpContext.Current.Cache[id] = output as MemoryOutput;
46+
HttpContext.Current.Cache[id] = output;
4647
return id;
4748
}
4849

@@ -52,7 +53,7 @@ namespace KY.Generator.Test.Controllers
5253
{
5354
return null;
5455
}
55-
MemoryOutput output = HttpContext.Current.Cache[id];
56+
MemoryOutput output = HttpContext.Current.Cache[id] as MemoryOutput;
5657
return output == null ? null : string.Join(Environment.NewLine, output.Files.Select(x => x.Key));
5758
}
5859

@@ -62,7 +63,7 @@ namespace KY.Generator.Test.Controllers
6263
{
6364
return null;
6465
}
65-
MemoryOutput output = HttpContext.Current.Cache[id];
66+
MemoryOutput output = HttpContext.Current.Cache[id] as MemoryOutput;
6667
return output == null || ! output.Files.ContainsKey(path) ? null : output.Files[path];
6768
}
6869

AspDotNet/Configurations/AspDotNetReadConfiguration.cs

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using KY.Generator.Configuration;
2+
using KY.Generator.Configurations;
23

34
namespace KY.Generator.AspDotNet.Configurations
45
{

AspDotNet/Configurations/AspDotNetWriteConfiguration.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
using System.Collections.Generic;
22
using KY.Generator.AspDotNet.Templates;
33
using KY.Generator.Configuration;
4+
using KY.Generator.Configurations;
45
using KY.Generator.Csharp.Languages;
56

67
namespace KY.Generator.AspDotNet.Configurations
78
{
8-
public class AspDotNetWriteConfiguration : ConfigurationBase
9+
public class AspDotNetWriteConfiguration : ConfigurationBase, IFormattableConfiguration
910
{
1011
public string Namespace { get; set; }
1112
public string RelativePath { get; set; }

AspDotNet/KY.Generator.AspDotNet.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<TargetFramework>netstandard2.0</TargetFramework>
55
<Company>KY-Programming</Company>
66
<Authors>KY-Programming</Authors>
7-
<Version>2.5.2</Version>
7+
<Version>2.6.0</Version>
88
<Product>KY.Generator</Product>
99
<Description>ASP.net Module for KY-Generator
1010
Download KY.Generator.CLI to use this module</Description>

AspDotNet/Readers/AspDotNetReader.cs

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using KY.Core.Dependency;
33
using KY.Generator.AspDotNet.Configurations;
44
using KY.Generator.Configuration;
5+
using KY.Generator.Configurations;
56
using KY.Generator.Transfer;
67
using KY.Generator.Transfer.Readers;
78

AspDotNet/Templates/DotNetFrameworkTemplate.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ public IEnumerable<UsingTemplate> Usings
1111
{
1212
get
1313
{
14-
yield return new UsingTemplate("System.Collections.Generic", null, null);
14+
yield return new UsingTemplate("System.Web", null, null);
1515
yield return new UsingTemplate("System.Web.Http", null, null);
16+
yield return new UsingTemplate("System.Web.Mvc", null, null);
1617
}
1718
}
1819

AspDotNet/Writers/AspDotNetEntityControllerWriter.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public virtual void Write(AspDotNetWriteConfiguration configuration, List<ITran
2929
ClassTemplate controller = files.AddFile(configuration.RelativePath, configuration.AddHeader)
3030
.AddNamespace(nameSpace)
3131
.AddClass(controllerConfiguration.Name ?? entity.Name + "Controller", Code.Type(configuration.Template.ControllerBase))
32-
.FormatName(configuration.Language, configuration.FormatNames)
32+
.FormatName(configuration)
3333
.WithAttribute("Route", Code.String(controllerConfiguration.Route ?? "[controller]"));
3434

3535
controller.Usings.AddRange(configuration.Template.Usings);
@@ -54,7 +54,7 @@ public virtual void Write(AspDotNetWriteConfiguration configuration, List<ITran
5454
method.Code.AddLine(queryable);
5555
foreach (PropertyTransferObject property in entity.Model.Properties)
5656
{
57-
ParameterTemplate parameter = method.AddParameter(property.Type.ToTemplate(), property.Name, Code.Local("default")).FormatName(configuration.Language, configuration.FormatNames);
57+
ParameterTemplate parameter = method.AddParameter(property.Type.ToTemplate(), property.Name, Code.Local("default")).FormatName(configuration);
5858
method.Code.AddLine(Code.If(Code.Local(parameter).NotEquals().Local("default"), x => x.Code.AddLine(Code.Local(queryable).Assign(Code.Local(queryable).Method("Where", Code.Lambda("x", Code.Local("x").Property(property.Name).Equals().Local(parameter)))).Close())));
5959
}
6060
method.Code.AddLine(Code.Return(Code.Local(queryable)));
@@ -107,7 +107,7 @@ public virtual void Write(AspDotNetWriteConfiguration configuration, List<ITran
107107
{
108108
PropertyTransferObject property = entity.Model.Properties.First(x => x.Name.Equals(key.Name, StringComparison.InvariantCultureIgnoreCase));
109109
parameters.Add(method.AddParameter(property.Type.ToTemplate(), property.Name)
110-
.FormatName(configuration.Language, configuration.FormatNames));
110+
.FormatName(configuration));
111111
}
112112
method.Code.AddLine(Code.This().Field(repositoryField).Method("Delete", parameters.Select(x => Code.Local(x))).Close());
113113
}

0 commit comments

Comments
 (0)