From 925ef4ecb030c84bbba2d807988e5e89633e88a3 Mon Sep 17 00:00:00 2001
From: ALEXXXANDRO
Date: Tue, 3 Aug 2021 09:41:07 +0300
Subject: [PATCH 1/7] fix: remove useless pages\usings, move some files
---
.../Client/Pages/Counter.razor | 16 --------
.../{TestPage.razor => SingleStat.razor} | 2 +-
.../Pages/{GetTeam.razor => UnitedStat.razor} | 38 ++++---------------
.../Client/Pages/UnitedStat.razor.cs | 36 ++++++++++++++++++
.../Client/Shared/NavMenu.razor | 14 +++----
.../Client/_Imports.razor | 2 +-
.../Server/Controllers/TeamController.cs | 2 -
7 files changed, 52 insertions(+), 58 deletions(-)
delete mode 100644 Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Counter.razor
rename Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/{TestPage.razor => SingleStat.razor} (96%)
rename Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/{GetTeam.razor => UnitedStat.razor} (52%)
create mode 100644 Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/UnitedStat.razor.cs
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Counter.razor b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Counter.razor
deleted file mode 100644
index 8641f78..0000000
--- a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Counter.razor
+++ /dev/null
@@ -1,16 +0,0 @@
-@page "/counter"
-
-Counter
-
-Current count: @currentCount
-
-
-
-@code {
- private int currentCount = 0;
-
- private void IncrementCount()
- {
- currentCount++;
- }
-}
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/TestPage.razor b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/SingleStat.razor
similarity index 96%
rename from Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/TestPage.razor
rename to Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/SingleStat.razor
index 5b1e9f8..6a987ec 100644
--- a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/TestPage.razor
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/SingleStat.razor
@@ -1,7 +1,7 @@
@page "/testpage"
@using Kysect.GithubActivityAnalyzer.ApiAccessor.ApiResponses
@inject HttpClient Http
-TestFunc
+Get activity by 2 ways (Test)
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/GetTeam.razor b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/UnitedStat.razor
similarity index 52%
rename from Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/GetTeam.razor
rename to Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/UnitedStat.razor
index 3f7b376..4b194f5 100644
--- a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/GetTeam.razor
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/UnitedStat.razor
@@ -1,15 +1,16 @@
@page "/Team"
-@using Kysect.GithubActivityAnalyzer.WebDemo.Shared
-@using Kysect.GithubActivityAnalyzer.Aggregators.Models
@inject HttpClient Http
-TestFunc
+United stat
-
+
+
-
+
-
+
+
+
@@ -57,28 +58,3 @@ else
}
-@code {
- private string _username = String.Empty;
- private string _teamName = String.Empty;
- private List _usernames = new List();
- private TeamResponse _team;
- private bool _statsIsVisible = false;
-
-
- protected async Task GetStat()
- {
- Team newTeamInfo = new Team()
- {
- TeamName = _teamName,
- Usernames = _usernames
- };
- var response = await Http.PostAsJsonAsync("Team", newTeamInfo);
- _team = await response.Content.ReadFromJsonAsync();
- _statsIsVisible = true;
- }
-
- private void AddStudent()
- {
- _usernames.Add(_username);
- }
-}
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/UnitedStat.razor.cs b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/UnitedStat.razor.cs
new file mode 100644
index 0000000..1aef1da
--- /dev/null
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/UnitedStat.razor.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.Threading.Tasks;
+using Kysect.GithubActivityAnalyzer.WebDemo.Shared;
+using Kysect.GithubActivityAnalyzer.Aggregators.Models;
+using System.Net.Http.Json;
+namespace Kysect.GithubActivityAnalyzer.WebDemo.Client.Pages
+{
+ public partial class UnitedStat
+ {
+ private string _username = String.Empty;
+ private string _teamName = String.Empty;
+ private List _usernames = new List();
+ private TeamResponse _team;
+ private bool _statsIsVisible = false;
+
+
+ protected async Task GetStat()
+ {
+ Team newTeamInfo = new Team()
+ {
+ TeamName = _teamName,
+ Usernames = _usernames
+ };
+ var response = await Http.PostAsJsonAsync("Team", newTeamInfo);
+ _team = await response.Content.ReadFromJsonAsync();
+ _statsIsVisible = true;
+ }
+ private void AddStudent()
+ {
+ if (!_usernames.Contains(_username))
+ _usernames.Add(_username);
+ }
+
+ }
+}
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Shared/NavMenu.razor b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Shared/NavMenu.razor
index f51aaaf..fb9be82 100644
--- a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Shared/NavMenu.razor
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Shared/NavMenu.razor
@@ -12,19 +12,14 @@
Home
-
-
- Counter
-
-
- Test Page
+ Single stat
- Team
+ United Stat
@@ -32,6 +27,11 @@
DatabaseTeam
+
+
+ Team Dashboard
+
+
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Client/_Imports.razor b/Kysect.GithubActivityAnalyzer.WebDemo/Client/_Imports.razor
index 2b477dc..d440f4d 100644
--- a/Kysect.GithubActivityAnalyzer.WebDemo/Client/_Imports.razor
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Client/_Imports.razor
@@ -7,4 +7,4 @@
@using Microsoft.AspNetCore.Components.WebAssembly.Http
@using Microsoft.JSInterop
@using Kysect.GithubActivityAnalyzer.WebDemo.Client
-@using Kysect.GithubActivityAnalyzer.WebDemo.Client.Shared
+@using Kysect.GithubActivityAnalyzer.WebDemo.Client.Shared
\ No newline at end of file
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Server/Controllers/TeamController.cs b/Kysect.GithubActivityAnalyzer.WebDemo/Server/Controllers/TeamController.cs
index 8ed4b79..72c27bd 100644
--- a/Kysect.GithubActivityAnalyzer.WebDemo/Server/Controllers/TeamController.cs
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Server/Controllers/TeamController.cs
@@ -1,8 +1,6 @@
using Microsoft.AspNetCore.Mvc;
-using Kysect.GithubActivityAnalyzer.Aggregators;
using Kysect.GithubActivityAnalyzer.Aggregators.Models;
using Kysect.GithubActivityAnalyzer.ApiAccessor;
-using Kysect.GithubActivityAnalyzer.WebDemo.Shared;
namespace Kysect.GithubActivityAnalyzer.WebDemo.Server.Controllers
{
From 59e2af6220856732d682cbc1d258ff40b66c699c Mon Sep 17 00:00:00 2001
From: ALEXXXANDRO
Date: Tue, 3 Aug 2021 09:47:53 +0300
Subject: [PATCH 2/7] feat: add dashboard page
---
...thubActivityAnalyzer.WebDemo.Client.csproj | 1 +
.../Pages/Dashboards/TeamDashboard.razor | 33 +++++++++++++++
.../Pages/Dashboards/TeamDashboard.razor.cs | 31 ++++++++++++++
.../Client/wwwroot/index.html | 9 +++-
.../Client/wwwroot/js/Chart.js | 42 +++++++++++++++++++
.../Server/Controllers/DBTeamController.cs | 5 ++-
.../Server/Services/ITeamService.cs | 4 +-
.../Server/Services/TeamService.cs | 5 ++-
8 files changed, 122 insertions(+), 8 deletions(-)
create mode 100644 Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Dashboards/TeamDashboard.razor
create mode 100644 Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Dashboards/TeamDashboard.razor.cs
create mode 100644 Kysect.GithubActivityAnalyzer.WebDemo/Client/wwwroot/js/Chart.js
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Kysect.GithubActivityAnalyzer.WebDemo.Client.csproj b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Kysect.GithubActivityAnalyzer.WebDemo.Client.csproj
index e461689..d501b05 100644
--- a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Kysect.GithubActivityAnalyzer.WebDemo.Client.csproj
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Kysect.GithubActivityAnalyzer.WebDemo.Client.csproj
@@ -5,6 +5,7 @@
+
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Dashboards/TeamDashboard.razor b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Dashboards/TeamDashboard.razor
new file mode 100644
index 0000000..494f915
--- /dev/null
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Dashboards/TeamDashboard.razor
@@ -0,0 +1,33 @@
+@page "/TeamDashboard"
+@inject HttpClient Http
+@inject IJSRuntime jsRuntime
+Team Dashboard
+
+
+
+
+
+
+
+@if (_teamName is null && !_statsIsVisible)
+{
+ Please write team name
+}
+else
+{
+ Team name: @_teamName
+}
+@if (_statsIsVisible)
+{
+
+}
+
+
+
+
\ No newline at end of file
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Dashboards/TeamDashboard.razor.cs b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Dashboards/TeamDashboard.razor.cs
new file mode 100644
index 0000000..d4a0ddb
--- /dev/null
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Dashboards/TeamDashboard.razor.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Threading.Tasks;
+using Kysect.GithubActivityAnalyzer.WebDemo.Shared;
+using Kysect.GithubActivityAnalyzer.Aggregators.Models;
+using System.Net.Http.Json;
+using Microsoft.JSInterop;
+
+namespace Kysect.GithubActivityAnalyzer.WebDemo.Client.Pages.Dashboards
+{
+ public partial class TeamDashboard
+ {
+ private string _teamName = String.Empty;
+ private TeamResponse _team;
+ private bool _statsIsVisible = false;
+ private async Task GetStat()
+ {
+ var teamResponse = await Http.PostAsJsonAsync("DBTeam/GetTeam", new Team(_teamName));
+ Team teamInfo = await teamResponse.Content.ReadFromJsonAsync();
+ var response = await Http.PostAsJsonAsync("Team", teamInfo);
+ _team = await response.Content.ReadFromJsonAsync();
+ _statsIsVisible = true;
+ }
+ private async void GenerateBarChart()
+ {
+ await GetStat();
+ var teamInfo = _team.Members;
+ await jsRuntime.InvokeVoidAsync("GenerateBarChart", teamInfo);
+ }
+
+ }
+}
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Client/wwwroot/index.html b/Kysect.GithubActivityAnalyzer.WebDemo/Client/wwwroot/index.html
index 37bcc83..de6da85 100644
--- a/Kysect.GithubActivityAnalyzer.WebDemo/Client/wwwroot/index.html
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Client/wwwroot/index.html
@@ -1,4 +1,4 @@
-
+
@@ -20,6 +20,13 @@
🗙
+
+
+
+
+
+
+
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Client/wwwroot/js/Chart.js b/Kysect.GithubActivityAnalyzer.WebDemo/Client/wwwroot/js/Chart.js
new file mode 100644
index 0000000..23cfa27
--- /dev/null
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Client/wwwroot/js/Chart.js
@@ -0,0 +1,42 @@
+function GenerateBarChart(teamInfo) {
+ AmCharts.makeChart("chartdiv", {
+ "type": "serial",
+ "theme": "none",
+ "categoryField": "username",
+ "rotate": true,
+ "startDuration": 1,
+ "categoryAxis": {
+ "gridPosition": "start",
+ "position": "left"
+ },
+ "trendLines": [],
+ "graphs": [
+ {
+ "balloonText": "totalContributions:[[value]]",
+ "fillAlphas": 0.8,
+ "id": "AmGraph-1",
+ "lineAlpha": 0.2,
+ "title": "totalContributions",
+ "type": "column",
+ "valueField": "totalContributions"
+ },
+ ],
+ "guides": [],
+ "valueAxes": [
+ {
+ "id": "ValueAxis-1",
+ "position": "top",
+ "axisAlpha": 0
+ }
+ ],
+ "allLabels": [],
+ "balloon": {},
+ "titles": [],
+ "dataProvider": teamInfo,
+ "export": {
+ "enabled": true
+ },
+ "hideCredits": true
+
+ });
+}
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Server/Controllers/DBTeamController.cs b/Kysect.GithubActivityAnalyzer.WebDemo/Server/Controllers/DBTeamController.cs
index 637d300..022ae84 100644
--- a/Kysect.GithubActivityAnalyzer.WebDemo/Server/Controllers/DBTeamController.cs
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Server/Controllers/DBTeamController.cs
@@ -42,9 +42,10 @@ public void GetAllTeams()
{
}
- [HttpGet("GetTeam")]
- public void GetTeam()
+ [HttpPost("GetTeam")]
+ public Team GetTeam(Team team)
{
+ return _teamService.GetTeam(team);
}
}
}
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Server/Services/ITeamService.cs b/Kysect.GithubActivityAnalyzer.WebDemo/Server/Services/ITeamService.cs
index 0db47f8..e8e2e69 100644
--- a/Kysect.GithubActivityAnalyzer.WebDemo/Server/Services/ITeamService.cs
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Server/Services/ITeamService.cs
@@ -13,8 +13,6 @@ public interface ITeamService
//TODO: разобраться с возвращаемым значением
public void GetAllTeams();
-
- //TODO: разобраться с возвращаемым значением
- public IQueryable GetTeam(string teamName);
+ public Team GetTeam(Team teamName);
}
}
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Server/Services/TeamService.cs b/Kysect.GithubActivityAnalyzer.WebDemo/Server/Services/TeamService.cs
index ed234ca..3acbd6d 100644
--- a/Kysect.GithubActivityAnalyzer.WebDemo/Server/Services/TeamService.cs
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Server/Services/TeamService.cs
@@ -37,9 +37,10 @@ void ITeamService.GetAllTeams()
{
throw new System.NotImplementedException();
}
- IQueryable ITeamService.GetTeam(string teamName)
+ Team ITeamService.GetTeam(Team team)
{
- throw new System.NotImplementedException();
+ team.Usernames = _teamRepository.GetAllByTeam(team.TeamName).Select(p => p.Username).ToList();
+ return team;
}
}
}
From 7dbc157d33fdf6fbff28db5b9ba36b2925525507 Mon Sep 17 00:00:00 2001
From: ALEXXXANDRO
Date: Wed, 4 Aug 2021 09:12:46 +0300
Subject: [PATCH 3/7] feat: try to handle unknown teamNames
---
.../Pages/Dashboards/TeamDashboard.razor | 15 +++++++----
.../Pages/Dashboards/TeamDashboard.razor.cs | 26 ++++++++++++-------
2 files changed, 27 insertions(+), 14 deletions(-)
diff --git a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Dashboards/TeamDashboard.razor b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Dashboards/TeamDashboard.razor
index 494f915..4dba122 100644
--- a/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Dashboards/TeamDashboard.razor
+++ b/Kysect.GithubActivityAnalyzer.WebDemo/Client/Pages/Dashboards/TeamDashboard.razor
@@ -6,10 +6,7 @@
-
-
-
-@if (_teamName is null && !_statsIsVisible)
+@if (_teamName is null)
{
Please write team name
}
@@ -17,11 +14,19 @@ else
{
Team name: @_teamName
}
+
+
+
+
+
@if (_statsIsVisible)
{
}
-
+else
+{
+ No such team
+}