Skip to content

Commit 3456027

Browse files
authored
Merge pull request #30 from leungkimming/michael3
Michael3
2 parents 9f93be8 + 4bbc7ae commit 3456027

File tree

13 files changed

+78
-9
lines changed

13 files changed

+78
-9
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using Microsoft.AspNetCore.Mvc;
2+
using Telerik.Reporting.Services.AspNetCore;
3+
using Telerik.Reporting.Services;
4+
5+
namespace API {
6+
[Route("reports")]
7+
[ApiController]
8+
[IgnoreAntiforgeryToken]
9+
public class ReportsController : ReportsControllerBase {
10+
public ReportsController(IReportServiceConfiguration reportServiceConfiguration)
11+
: base(reportServiceConfiguration) {
12+
}
13+
}
14+
}

API/Controllers/SystemParameters/SystemParametersController.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public async Task<IActionResult> SearchAll([FromBody]SystemParametersSearchReque
2727
[HttpPost]
2828
[Route("addsystemparameter")]
2929
[AccessCodeAuthorize("SP02")]
30+
[ValidateAntiForgeryToken]
3031
public async Task<IActionResult> AddSystemParameter([FromBody]AddSystemParameterRequest request) {
3132
AddDataResponse response;
3233
request.Refresh(HttpContext.User.Identity.Name,DateTime.Now);
@@ -36,6 +37,7 @@ public async Task<IActionResult> AddSystemParameter([FromBody]AddSystemParameter
3637
[HttpPost]
3738
[Route("editsystemparameter")]
3839
[AccessCodeAuthorize("SP03")]
40+
[ValidateAntiForgeryToken]
3941
public async Task<IActionResult> EditSystemParameter([FromBody] EditSystemParameterRequest request) {
4042
EditDataResponse response;
4143
request.Refresh(HttpContext.User.Identity.Name, DateTime.Now);
@@ -45,6 +47,7 @@ public async Task<IActionResult> EditSystemParameter([FromBody] EditSystemParame
4547
[HttpGet]
4648
[Route("deletesystemparameter")]
4749
[AccessCodeAuthorize("SP04")]
50+
[ValidateAntiForgeryToken]
4851
public async Task<IActionResult> DeleteSystemParameter([FromQuery] DeleteSystemParameterRequest request) {
4952
EditDataResponse response;
5053
response = await _service.DeleteSystemParameterAsync(request);

API/Controllers/UserController.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public async Task<IActionResult> Get([FromBody] GetUserRequest request) {
4040

4141
[HttpPost(Name = "AddNewUser")]
4242
[AccessCodeAuthorize("AB01")]
43+
[ValidateAntiForgeryToken]
4344
public async Task<IActionResult> Add([FromBody] AddUserRequest request) {
4445
AddUserResponse response;
4546
request.Refresh(HttpContext.User.Identity.Name, DateTime.Now);
@@ -49,6 +50,7 @@ public async Task<IActionResult> Add([FromBody] AddUserRequest request) {
4950

5051
[HttpPost("Addpayslip")]
5152
[AccessCodeAuthorize("AC01")]
53+
[ValidateAntiForgeryToken]
5254
public async Task<IActionResult> AddPayslip([FromBody] AddPayslipRequest request) {
5355
AddPayslipResponse _response;
5456
request.Refresh(HttpContext.User.Identity.Name, DateTime.Now);

API/P1.API.csproj

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
</PackageReference>
4040
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
4141
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
42+
<PackageReference Include="Telerik.Reporting.Services.AspNetCore" Version="16.0.22.225" />
4243
</ItemGroup>
4344

4445
<ItemGroup>
@@ -51,7 +52,13 @@
5152
<ItemGroup>
5253
<InternalsVisibleTo Include="P6.StoryTest" />
5354
</ItemGroup>
54-
55+
56+
<ItemGroup>
57+
<None Update="Reports\FrequentUsers.trdp">
58+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
59+
</None>
60+
</ItemGroup>
61+
5562
<!-- Uncomment ItemGroup to enable NServiceBus -->
5663
<!--<ItemGroup>
5764
<PackageReference Include="NServiceBus" Version="7.7.0" />

API/Program.cs

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
using Microsoft.AspNetCore.Mvc;
1010
using Data;
1111
using Microsoft.AspNetCore.Server.IIS;
12+
using Telerik.Reporting.Services;
13+
using Telerik.Reporting.Cache.File;
14+
1215
// Uncomment to enable NServiceBus
1316
//using NServiceBus;
1417
//using Messages;
@@ -65,6 +68,10 @@
6568
new string[] {}
6669
}
6770
});
71+
c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
72+
c.IgnoreObsoleteActions();
73+
c.IgnoreObsoleteProperties();
74+
c.CustomSchemaIds(type => type.FullName);
6875
});
6976

7077
// Authentication, authorization, Antiforgery Token
@@ -98,8 +105,13 @@
98105
});
99106

100107
// for Blazor wasm hosting
101-
builder.Services.AddRazorPages();
102-
108+
builder.Services.AddRazorPages().AddNewtonsoftJson();
109+
builder.Services.AddSingleton<IReportServiceConfiguration>(sp => new ReportServiceConfiguration
110+
{
111+
Storage = new FileStorage(),
112+
ReportSourceResolver = new UriReportSourceResolver(
113+
System.IO.Path.Combine(Directory.GetCurrentDirectory(), "Reports"))
114+
});
103115
// for IIS hosting
104116
builder.WebHost.UseIIS();
105117

API/Reports/FrequentUsers.trdp

2.91 KB
Binary file not shown.

Client/Client.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.3" />
2323
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.3" PrivateAssets="all" />
2424
<PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" />
25+
<PackageReference Include="Telerik.ReportViewer.Blazor" Version="16.0.22.225" />
2526
<PackageReference Include="Telerik.UI.for.Blazor" Version="3.1.0" />
2627
</ItemGroup>
2728

Client/Pages/Report.razor

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
@page "/Report"
2+
@using Telerik.ReportViewer.Blazor
3+
<PageTitle>Report</PageTitle>
4+
<style>
5+
#rv1 {
6+
position: relative;
7+
width: 1000px;
8+
height: 800px;
9+
}
10+
</style>
11+
12+
<ReportViewer ViewerId="rv1"
13+
PageMode="@PageMode.SinglePage"
14+
ServiceUrl="./reports"
15+
ReportSource="@(new ReportSourceOptions()
16+
{
17+
Report = "FrequentUsers.trdp"
18+
})"
19+
Parameters="@(new ParametersOptions { Editors = new EditorsOptions { MultiSelect = EditorType.ListView, SingleSelect = EditorType.ComboBox } })"
20+
ScaleMode="@ScaleMode.FitPageWidth"
21+
ParametersAreaPosition="@ParametersAreaPosition.Right"/>
22+
@code {
23+
24+
}

Client/Shared/NavMenu/DrawerMenu.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public static class DrawerMenu {
1616
new DrawerItem{ Text = "Home", Icon = "home", Url="/dotnet6EAA", Group = "home"},
1717
new DrawerItem{ Text = "Add User", Icon = "dollar", Url="/dotnet6EAA/adduser", Group = "app", Target="_popup"},
1818
new DrawerItem{ Text = "Search User", Icon = "dollar", Url="/dotnet6EAA/searchuser", Group = "app"},
19+
new DrawerItem{ Text = "Report", Icon = "dollar", Url="/dotnet6EAA/Report", Group = "app"},
1920
new DrawerItem{ Text = "System Parameters", Icon = "tell-a-friend", Url="/dotnet6EAA/systemparameters/searchdatas", Group = "app"},
2021
new DrawerItem{ Text = "Swagger UI", Icon="gear", Url="/dotnet6EAA/swagger/index.html",Group="settings",Target= MenuTarget.Blank.Code},
2122
};

Client/wwwroot/index.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
77
<title>DotNet6EAA</title>
88
<base href="/dotnet6EAA/" />
9+
<script src="js/jquery-3.3.1.min.js"></script>
10+
<script src="./reports/resources/js/telerikReportViewer"></script>
911
<link href="css/bootstrap/bootstrap.min.css" rel="stylesheet" />
1012
<link href="css/app.css?version=0.1" rel="stylesheet" />
1113
<link href="Client.styles.css" rel="stylesheet" />
12-
<!--<link href="css/main.css" rel="stylesheet" />-->
1314
<link rel="stylesheet" href="_content/Telerik.UI.for.Blazor/css/kendo-theme-default/all.css" />
1415
<script src="_content/Telerik.UI.for.Blazor/js/telerik-blazor.js" defer></script>
1516
</head>
@@ -35,6 +36,7 @@
3536
return "";
3637
}
3738
</script>
39+
<script src="_content/telerik.reportviewer.blazor/interop.js" defer></script>
3840
</body>
3941

4042
</html>

0 commit comments

Comments
 (0)