diff --git a/Sources/HeartTrack/.vs/HeartTrack/DesignTimeBuild/.dtbcache.v2 b/Sources/HeartTrack/.vs/HeartTrack/DesignTimeBuild/.dtbcache.v2
index 3cd382a..8cd3a1c 100644
Binary files a/Sources/HeartTrack/.vs/HeartTrack/DesignTimeBuild/.dtbcache.v2 and b/Sources/HeartTrack/.vs/HeartTrack/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/37af3ef7-fe21-4c00-9f8a-273a32ff2387.vsidx b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/37af3ef7-fe21-4c00-9f8a-273a32ff2387.vsidx
new file mode 100644
index 0000000..0692ef8
Binary files /dev/null and b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/37af3ef7-fe21-4c00-9f8a-273a32ff2387.vsidx differ
diff --git a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/44ee5ece-d56f-42a2-aa17-7ee718ed688b.vsidx b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/44ee5ece-d56f-42a2-aa17-7ee718ed688b.vsidx
deleted file mode 100644
index 6ca74ff..0000000
Binary files a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/44ee5ece-d56f-42a2-aa17-7ee718ed688b.vsidx and /dev/null differ
diff --git a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/496a5656-eb44-4ebe-ba8d-a6762b436736.vsidx b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/496a5656-eb44-4ebe-ba8d-a6762b436736.vsidx
new file mode 100644
index 0000000..e7679ab
Binary files /dev/null and b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/496a5656-eb44-4ebe-ba8d-a6762b436736.vsidx differ
diff --git a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/5add9c98-8b97-46d0-9588-e16a8e8f12e8.vsidx b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/5add9c98-8b97-46d0-9588-e16a8e8f12e8.vsidx
new file mode 100644
index 0000000..7552c9c
Binary files /dev/null and b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/5add9c98-8b97-46d0-9588-e16a8e8f12e8.vsidx differ
diff --git a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/988cb259-3d27-4e96-8943-566b62d64eae.vsidx b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/988cb259-3d27-4e96-8943-566b62d64eae.vsidx
deleted file mode 100644
index 7284701..0000000
Binary files a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/988cb259-3d27-4e96-8943-566b62d64eae.vsidx and /dev/null differ
diff --git a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/a84ac8c7-da77-4564-b920-83df07e5e4b6.vsidx b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/a84ac8c7-da77-4564-b920-83df07e5e4b6.vsidx
new file mode 100644
index 0000000..0982bca
Binary files /dev/null and b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/a84ac8c7-da77-4564-b920-83df07e5e4b6.vsidx differ
diff --git a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/b4692239-296f-4d4b-a5be-f68bf82ee08c.vsidx b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/b4692239-296f-4d4b-a5be-f68bf82ee08c.vsidx
deleted file mode 100644
index 2f86ee0..0000000
Binary files a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/b4692239-296f-4d4b-a5be-f68bf82ee08c.vsidx and /dev/null differ
diff --git a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/c35b252a-e1e2-432b-b53c-a629756d67dd.vsidx b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/c35b252a-e1e2-432b-b53c-a629756d67dd.vsidx
new file mode 100644
index 0000000..40faf9c
Binary files /dev/null and b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/c35b252a-e1e2-432b-b53c-a629756d67dd.vsidx differ
diff --git a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/d6bc084e-b8ab-435f-8578-c67fce6d404b.vsidx b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/d6bc084e-b8ab-435f-8578-c67fce6d404b.vsidx
deleted file mode 100644
index 825155f..0000000
Binary files a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/d6bc084e-b8ab-435f-8578-c67fce6d404b.vsidx and /dev/null differ
diff --git a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/e08c635b-7d76-4234-98ec-526472a22be7.vsidx b/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/e08c635b-7d76-4234-98ec-526472a22be7.vsidx
deleted file mode 100644
index f6da159..0000000
Binary files a/Sources/HeartTrack/.vs/HeartTrack/FileContentIndex/e08c635b-7d76-4234-98ec-526472a22be7.vsidx and /dev/null differ
diff --git a/Sources/HeartTrack/.vs/HeartTrack/v17/.futdcache.v2 b/Sources/HeartTrack/.vs/HeartTrack/v17/.futdcache.v2
index 01e6dba..c35c6da 100644
Binary files a/Sources/HeartTrack/.vs/HeartTrack/v17/.futdcache.v2 and b/Sources/HeartTrack/.vs/HeartTrack/v17/.futdcache.v2 differ
diff --git a/Sources/HeartTrack/.vs/HeartTrack/v17/.suo b/Sources/HeartTrack/.vs/HeartTrack/v17/.suo
index c118454..2dc1d01 100644
Binary files a/Sources/HeartTrack/.vs/HeartTrack/v17/.suo and b/Sources/HeartTrack/.vs/HeartTrack/v17/.suo differ
diff --git a/Sources/HeartTrack/.vs/ProjectEvaluation/hearttrack.metadata.v7.bin b/Sources/HeartTrack/.vs/ProjectEvaluation/hearttrack.metadata.v7.bin
index d33a096..89ed569 100644
Binary files a/Sources/HeartTrack/.vs/ProjectEvaluation/hearttrack.metadata.v7.bin and b/Sources/HeartTrack/.vs/ProjectEvaluation/hearttrack.metadata.v7.bin differ
diff --git a/Sources/HeartTrack/.vs/ProjectEvaluation/hearttrack.projects.v7.bin b/Sources/HeartTrack/.vs/ProjectEvaluation/hearttrack.projects.v7.bin
index 82aef15..7d0e8d2 100644
Binary files a/Sources/HeartTrack/.vs/ProjectEvaluation/hearttrack.projects.v7.bin and b/Sources/HeartTrack/.vs/ProjectEvaluation/hearttrack.projects.v7.bin differ
diff --git a/Sources/HeartTrack/App.razor b/Sources/HeartTrack/App.razor
index 60f5744..6f7f696 100644
--- a/Sources/HeartTrack/App.razor
+++ b/Sources/HeartTrack/App.razor
@@ -1,4 +1,4 @@
-
+@*
@@ -9,5 +9,17 @@
Sorry, there's nothing at this address.
-
+ *@
+
+
+
+
+
+
+
+ Sorry, there's nothing at this address.
+
+
+
+
\ No newline at end of file
diff --git a/Sources/HeartTrack/HeartTrack.csproj b/Sources/HeartTrack/HeartTrack.csproj
index 84b4d9c..723d747 100644
--- a/Sources/HeartTrack/HeartTrack.csproj
+++ b/Sources/HeartTrack/HeartTrack.csproj
@@ -7,10 +7,16 @@
+
+
+
+
+
+
diff --git a/Sources/HeartTrack/Models/Authentification/AppUser.cs b/Sources/HeartTrack/Models/Authentification/AppUser.cs
new file mode 100644
index 0000000..8a20f8f
--- /dev/null
+++ b/Sources/HeartTrack/Models/Authentification/AppUser.cs
@@ -0,0 +1,9 @@
+namespace HeartTrack.Models
+{
+ public class AppUser
+ {
+ public string Password { get; set; }
+ public List Roles { get; set; }
+ public string UserName { get; set; }
+ }
+}
diff --git a/Sources/HeartTrack/Models/Authentification/CurrentUser.cs b/Sources/HeartTrack/Models/Authentification/CurrentUser.cs
new file mode 100644
index 0000000..ccee22d
--- /dev/null
+++ b/Sources/HeartTrack/Models/Authentification/CurrentUser.cs
@@ -0,0 +1,9 @@
+namespace HeartTrack.Models
+{
+ public class CurrentUser
+ {
+ public Dictionary Claims { get; set; }
+ public bool IsAuthenticated { get; set; }
+ public string UserName { get; set; }
+ }
+}
diff --git a/Sources/HeartTrack/Models/Authentification/LoginRequest.cs b/Sources/HeartTrack/Models/Authentification/LoginRequest.cs
new file mode 100644
index 0000000..e8688e7
--- /dev/null
+++ b/Sources/HeartTrack/Models/Authentification/LoginRequest.cs
@@ -0,0 +1,13 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace HeartTrack.Models
+{
+ public class LoginRequest
+ {
+ [Required]
+ public string Password { get; set; }
+
+ [Required]
+ public string UserName { get; set; }
+ }
+}
diff --git a/Sources/HeartTrack/Models/Authentification/RegisterRequest.cs b/Sources/HeartTrack/Models/Authentification/RegisterRequest.cs
new file mode 100644
index 0000000..d41bb5f
--- /dev/null
+++ b/Sources/HeartTrack/Models/Authentification/RegisterRequest.cs
@@ -0,0 +1,17 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace HeartTrack.Models
+{
+ public class RegisterRequest
+ {
+ [Required]
+ public string Password { get; set; }
+
+ [Required]
+ [Compare(nameof(Password), ErrorMessage = "Passwords do not match!")]
+ public string PasswordConfirm { get; set; }
+
+ [Required]
+ public string UserName { get; set; }
+ }
+}
diff --git a/Sources/HeartTrack/Models/Ticket/Ticket.cs b/Sources/HeartTrack/Models/Ticket/Ticket.cs
new file mode 100644
index 0000000..621dded
--- /dev/null
+++ b/Sources/HeartTrack/Models/Ticket/Ticket.cs
@@ -0,0 +1,13 @@
+namespace HeartTrack.Models
+{
+ public class Ticket
+ {
+ public int Id { get; set; }
+ public string Username { get; set; }
+ public string Nom { get; set; }
+ public string Prenom { get; set; }
+ public string Contexte { get; set; }
+ public string Description { get; set; }
+ public string Urgence { get; set; }
+ }
+}
diff --git a/Sources/HeartTrack/Models/Ticket/TicketModel.cs b/Sources/HeartTrack/Models/Ticket/TicketModel.cs
new file mode 100644
index 0000000..3eb2bd5
--- /dev/null
+++ b/Sources/HeartTrack/Models/Ticket/TicketModel.cs
@@ -0,0 +1,33 @@
+using Blazorise;
+using System.ComponentModel.DataAnnotations;
+
+namespace HeartTrack.Models
+{
+ public class TicketModel
+ {
+ [Required]
+ [Range(0, 121425711425541)]
+ public int Id { get; set; }
+
+ [Required]
+ [StringLength(50, ErrorMessage = "The username must not exceed 50 characters.")]
+ public string Username { get; set; }
+
+ [Required]
+ [StringLength(50, ErrorMessage = "The name must not exceed 50 characters.")]
+ public string Nom { get; set; }
+
+ [Required]
+ [StringLength(25, ErrorMessage = "The last name must not exceed 25 characters.")]
+ public string Prenom { get; set; }
+ [Required]
+ [StringLength(25, ErrorMessage = "The subject must not exceed 25 characters.")]
+ public string Contexte { get; set; }
+
+ [Required]
+ [StringLength(500, ErrorMessage = "Description must not exceed 500 characters.")]
+ public string Description { get; set; }
+ public Boolean Urgence { get; set; }
+ public Image Image { get; set; }
+ }
+}
diff --git a/Sources/HeartTrack/Models/User.cs b/Sources/HeartTrack/Models/User/User.cs
similarity index 91%
rename from Sources/HeartTrack/Models/User.cs
rename to Sources/HeartTrack/Models/User/User.cs
index a332514..d18a6aa 100644
--- a/Sources/HeartTrack/Models/User.cs
+++ b/Sources/HeartTrack/Models/User/User.cs
@@ -12,5 +12,6 @@
public float Taille { get; set; }
public float Poids { get; set; }
public DateTime BirthDate { get; set; }
+ public Boolean isBan { get; set; }
}
}
diff --git a/Sources/HeartTrack/Models/User/UserModel.cs b/Sources/HeartTrack/Models/User/UserModel.cs
new file mode 100644
index 0000000..276f786
--- /dev/null
+++ b/Sources/HeartTrack/Models/User/UserModel.cs
@@ -0,0 +1,39 @@
+using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
+
+namespace HeartTrack.Models
+{
+ public class UserModel
+ {
+ [Required]
+ [Range(0,121425711425541)]
+ public int Id { get; set; }
+
+ [Required]
+ [StringLength(50, ErrorMessage = "The username must not exceed 50 characters.")]
+ public string Username { get; set; }
+
+ [Required]
+ [StringLength(50, ErrorMessage = "The name must not exceed 50 characters.")]
+ [RegularExpression(@"^[A-Za-z]$", ErrorMessage = "Numbers are not accepted.")]
+ public string FirstName { get; set; }
+
+ [Required]
+ [StringLength(25, ErrorMessage = "The last name must not exceed 25 characters.")]
+ [RegularExpression(@"^[A-Za-z]*$", ErrorMessage = "Numbers are not accepted.")]
+ public string LastName { get; set; }
+ [Required]
+ public string Email { get; set; }
+ [Required]
+ public string Password { get; set; }
+ [Required]
+ public string Sexe { get; set; }
+ [Required]
+ public float Taille { get; set; }
+ [Required]
+ public float Poids { get; set; }
+ [Required]
+ public DateTime BirthDate { get; set; }
+ public Boolean isBan { get; set; }
+ }
+}
diff --git a/Sources/HeartTrack/Pages/AddTicket.razor b/Sources/HeartTrack/Pages/AddTicket.razor
new file mode 100644
index 0000000..765a20a
--- /dev/null
+++ b/Sources/HeartTrack/Pages/AddTicket.razor
@@ -0,0 +1,16 @@
+@page "/tickets/add"
+
+Add Ticket
+
+@*
+
+
+
+
+
+
+
+
+
+ Submit
+ *@
diff --git a/Sources/HeartTrack/Pages/AddTicket.razor.cs b/Sources/HeartTrack/Pages/AddTicket.razor.cs
new file mode 100644
index 0000000..2aa06e2
--- /dev/null
+++ b/Sources/HeartTrack/Pages/AddTicket.razor.cs
@@ -0,0 +1,107 @@
+using Blazored.LocalStorage;
+using Microsoft.AspNetCore.Components.Forms;
+using Microsoft.AspNetCore.Components;
+using HeartTrack.Models;
+
+namespace HeartTrack.Pages
+{
+ public partial class AddTicket
+ {
+ [Inject]
+ public ILocalStorageService LocalStorage { get; set; }
+
+ [Inject]
+ public IWebHostEnvironment WebHostEnvironment { get; set; }
+
+ ///
+ /// The current item model
+ ///
+ private TicketModel ticketModel = new(){};
+
+ /*private async void HandleValidSubmit()
+ {
+ // Get the current data
+ var currentData = await LocalStorage.GetItemAsync>("data");
+
+ // Simulate the Id
+ ticketModel.Id = currentData.Max(s => s.Id) + 1;
+
+ // Add the item to the current data
+ currentData.Add(new Ticket
+ {
+ Id = ticketModel.Id,
+ Username = ticketModel.Username,
+ Nom = ticketModel.Nom,
+ Prenom = ticketModel.Prenom,
+ Contexte = ticketModel.Contexte,
+ Description = ticketModel.Description,
+ Urgence = ticketModel.Urgence
+ });
+
+ // Save the image
+ var imagePathInfo = new DirectoryInfo($"{WebHostEnvironment.WebRootPath}/images");
+
+ // Check if the folder "images" exist
+ if (!imagePathInfo.Exists)
+ {
+ imagePathInfo.Create();
+ }
+
+ // Determine the image name
+ var fileName = new FileInfo($"{imagePathInfo}/{itemModel.Name}.png");
+
+ // Write the file content
+ await File.WriteAllBytesAsync(fileName.FullName, itemModel.ImageContent);
+
+ // Save the data
+ await LocalStorage.SetItemAsync("data", currentData);
+ }
+
+ private async Task LoadImage(InputFileChangeEventArgs e)
+ {
+ // Set the content of the image to the model
+ using (var memoryStream = new MemoryStream())
+ {
+ await e.File.OpenReadStream().CopyToAsync(memoryStream);
+ itemModel.ImageContent = memoryStream.ToArray();
+ }
+ }
+
+ private void OnEnchantCategoriesChange(string item, object checkedValue)
+ {
+ if ((bool)checkedValue)
+ {
+ if (!itemModel.EnchantCategories.Contains(item))
+ {
+ itemModel.EnchantCategories.Add(item);
+ }
+
+ return;
+ }
+
+ if (itemModel.EnchantCategories.Contains(item))
+ {
+ itemModel.EnchantCategories.Remove(item);
+ }
+ }
+
+ private void OnRepairWithChange(string item, object checkedValue)
+ {
+ if ((bool)checkedValue)
+ {
+ if (!itemModel.RepairWith.Contains(item))
+ {
+ itemModel.RepairWith.Add(item);
+ }
+
+ return;
+ }
+
+ if (itemModel.RepairWith.Contains(item))
+ {
+ itemModel.RepairWith.Remove(item);
+ }
+ }*/
+
+ }
+}
diff --git a/Sources/HeartTrack/Pages/Admin.razor b/Sources/HeartTrack/Pages/Admin.razor
new file mode 100644
index 0000000..6cf0b2b
--- /dev/null
+++ b/Sources/HeartTrack/Pages/Admin.razor
@@ -0,0 +1,3 @@
+@page "/admin"
+
+Admin Page
\ No newline at end of file
diff --git a/Sources/HeartTrack/Pages/BannedUsers.razor b/Sources/HeartTrack/Pages/BannedUsers.razor
index f35dc47..cdcfe9b 100644
--- a/Sources/HeartTrack/Pages/BannedUsers.razor
+++ b/Sources/HeartTrack/Pages/BannedUsers.razor
@@ -1,11 +1,29 @@
@page "/banned-users"
-
+@using HeartTrack.Models
Banned Users
Banned Users
This is banned users list of this website.
-
+
+
+ Ajouter
+
+
+
+
+
+
+
+
+
+
diff --git a/Sources/HeartTrack/Pages/BannedUsers.razor.cs b/Sources/HeartTrack/Pages/BannedUsers.razor.cs
new file mode 100644
index 0000000..d87c5c1
--- /dev/null
+++ b/Sources/HeartTrack/Pages/BannedUsers.razor.cs
@@ -0,0 +1,66 @@
+using Blazored.LocalStorage;
+using Blazorise;
+using Blazorise.DataGrid;
+using HeartTrack.Models;
+using Microsoft.AspNetCore.Components;
+using Microsoft.Extensions.Localization;
+
+namespace HeartTrack.Pages
+{
+ public partial class BannedUsers
+ {
+ private List users;
+
+ private int totalUser;
+
+
+ [Inject]
+ public HttpClient Http { get; set; }
+
+ [Inject]
+ public NavigationManager NavigationManager { get; set; }
+
+ [Inject]
+ public ILocalStorageService LocalStorage { get; set; }
+
+ [Inject]
+ public IStringLocalizer Localizer { get; set; }
+
+ protected override async Task OnAfterRenderAsync(bool firstRender)
+ {
+ // Do not treat this action if is not the first render
+ if (!firstRender)
+ {
+ return;
+ }
+
+ var currentData = await LocalStorage.GetItemAsync("data");
+
+ // Check if data exist in the local storage
+ if (currentData == null)
+ {
+ // this code add in the local storage the fake data (we load the data sync for initialize the data before load the OnReadData method)
+ var originalData = Http.GetFromJsonAsync($"{NavigationManager.BaseUri}fake-data.json").Result;
+ await LocalStorage.SetItemAsync("data", originalData);
+ }
+ }
+
+ private async Task OnReadData(DataGridReadDataEventArgs e)
+ {
+ if (e.CancellationToken.IsCancellationRequested)
+ {
+ return;
+ }
+
+ // When you use a real API, we use this follow code
+ //var response = await Http.GetJsonAsync( $"http://my-api/api/data?page={e.Page}&pageSize={e.PageSize}" );
+ var response = (await LocalStorage.GetItemAsync("data")).Skip((e.Page - 1) * e.PageSize).Take(e.PageSize).ToList();
+
+ if (!e.CancellationToken.IsCancellationRequested)
+ {
+ totalUser = (await LocalStorage.GetItemAsync>("data")).Count;
+ users = new List(response); // an actual data for the current page
+ }
+ }
+ }
+}
diff --git a/Sources/HeartTrack/Pages/FetchData.razor b/Sources/HeartTrack/Pages/FetchData.razor
deleted file mode 100644
index 54db2b0..0000000
--- a/Sources/HeartTrack/Pages/FetchData.razor
+++ /dev/null
@@ -1,49 +0,0 @@
-@page "/fetchdata"
-
-Weather forecast
-
-@using HeartTrack.Data
-@inject WeatherForecastService ForecastService
-
-Weather forecast
-
-This component demonstrates fetching data from a service.
-
-@if (forecasts == null)
-{
- Loading...
-}
-else
-{
-
-
-
- Date
- Temp. (C)
- Temp. (F)
- Summary
-
-
-
- @foreach (var forecast in forecasts)
- {
-
- @forecast.Date.ToShortDateString()
- @forecast.TemperatureC
- @forecast.TemperatureF
- @forecast.Summary
-
- }
-
-
-}
-
-@code {
- private WeatherForecast[]? forecasts;
-
- protected override async Task OnInitializedAsync()
- {
- forecasts = await ForecastService.GetForecastAsync(DateTime.Now);
- }
-}
-
diff --git a/Sources/HeartTrack/Pages/Index.razor b/Sources/HeartTrack/Pages/Index.razor
index b27ac3c..2762adb 100644
--- a/Sources/HeartTrack/Pages/Index.razor
+++ b/Sources/HeartTrack/Pages/Index.razor
@@ -1,7 +1,7 @@
@page "/"
@using System.Globalization
-Global View
+@* Global View
Global View
@@ -12,5 +12,28 @@ Actual language:
CurrentCulture : @CultureInfo.CurrentCulture
-
+ *@
+
+
+
+ Hello @context.User.Identity.Name !!
+
+ Welcome to Blazor Learner.
+
+
+ @foreach (var claim in context.User.Claims)
+ {
+ @claim.Type: @claim.Value
+ }
+
+
+
+
+ Loading ...
+
+
+ Authentication Failure!
+ You're not signed in.
+
+
diff --git a/Sources/HeartTrack/Pages/Login.razor b/Sources/HeartTrack/Pages/Login.razor
new file mode 100644
index 0000000..a4c7083
--- /dev/null
+++ b/Sources/HeartTrack/Pages/Login.razor
@@ -0,0 +1,26 @@
+@page "/login"
+@layout AuthLayout
+
+
+ Login
+
+
+
+
+
+ User Name
+
+
+
+ Password
+
+
+
+ Sign in
+
+ @error
+
+
+ Create account
+
+
\ No newline at end of file
diff --git a/Sources/HeartTrack/Pages/Login.razor.cs b/Sources/HeartTrack/Pages/Login.razor.cs
new file mode 100644
index 0000000..cd94365
--- /dev/null
+++ b/Sources/HeartTrack/Pages/Login.razor.cs
@@ -0,0 +1,32 @@
+using HeartTrack.Models;
+using HeartTrack.Services;
+using Microsoft.AspNetCore.Components;
+
+namespace HeartTrack.Pages
+{
+ public partial class Login
+ {
+ [Inject]
+ public CustomStateProvider AuthStateProvider { get; set; }
+
+ [Inject]
+ public NavigationManager NavigationManager { get; set; }
+
+ private string error { get; set; }
+ private LoginRequest loginRequest { get; set; } = new LoginRequest();
+
+ private async Task OnSubmit()
+ {
+ error = null;
+ try
+ {
+ await AuthStateProvider.Login(loginRequest);
+ NavigationManager.NavigateTo("");
+ }
+ catch (Exception ex)
+ {
+ error = ex.Message;
+ }
+ }
+ }
+}
diff --git a/Sources/HeartTrack/Pages/Register.razor b/Sources/HeartTrack/Pages/Register.razor
new file mode 100644
index 0000000..a8e7602
--- /dev/null
+++ b/Sources/HeartTrack/Pages/Register.razor
@@ -0,0 +1,29 @@
+@page "/register"
+@layout AuthLayout
+
+
+ Register
+
+
+
+
+
+ User Name
+
+
+
+ Password
+
+
+
+ Password Confirmation
+
+
+
+ Create account
+
+ @error
+
+ Already have an account? Click here to login
+
+
\ No newline at end of file
diff --git a/Sources/HeartTrack/Pages/Register.razor.cs b/Sources/HeartTrack/Pages/Register.razor.cs
new file mode 100644
index 0000000..40266ab
--- /dev/null
+++ b/Sources/HeartTrack/Pages/Register.razor.cs
@@ -0,0 +1,32 @@
+using HeartTrack.Models;
+using HeartTrack.Services;
+using Microsoft.AspNetCore.Components;
+
+namespace HeartTrack.Pages
+{
+ public partial class Register
+ {
+ [Inject]
+ public CustomStateProvider AuthStateProvider { get; set; }
+
+ [Inject]
+ public NavigationManager NavigationManager { get; set; }
+
+ private string error { get; set; }
+ private RegisterRequest registerRequest { get; set; } = new RegisterRequest();
+
+ private async Task OnSubmit()
+ {
+ error = null;
+ try
+ {
+ await AuthStateProvider.Register(registerRequest);
+ NavigationManager.NavigateTo("");
+ }
+ catch (Exception ex)
+ {
+ error = ex.Message;
+ }
+ }
+ }
+}
diff --git a/Sources/HeartTrack/Pages/Test.razor b/Sources/HeartTrack/Pages/Test.razor
new file mode 100644
index 0000000..6e56208
--- /dev/null
+++ b/Sources/HeartTrack/Pages/Test.razor
@@ -0,0 +1,20 @@
+@page "/test"
+
+
+
+
+@if (!Users.Any())
+{
+ Loading some images...
+}
+else
+{
+
+ @foreach (var user in FilteredUsers)
+ {
+
feur
+ }
+
+}
\ No newline at end of file
diff --git a/Sources/HeartTrack/Pages/Test.razor.cs b/Sources/HeartTrack/Pages/Test.razor.cs
new file mode 100644
index 0000000..705604c
--- /dev/null
+++ b/Sources/HeartTrack/Pages/Test.razor.cs
@@ -0,0 +1,28 @@
+using Blazorise;
+using HeartTrack.Models;
+using HeartTrack.Services;
+using Microsoft.AspNetCore.Components;
+
+namespace HeartTrack.Pages
+{
+ partial class Test : ComponentBase
+ {
+ public IEnumerable Users { get; set; } = new List();
+
+ public string SearchText = "";
+
+ [Inject]
+ public IDataService DataService { get; set; }
+
+ [Inject]
+ public IWebHostEnvironment WebHostEnvironment { get; set; }
+
+ protected override async Task OnInitializedAsync()
+ {
+ Users = await DataService.List(1, 50); ;
+ }
+
+ List FilteredUsers => Users.Where(
+ user => user.Username.ToLower().Contains(SearchText.ToLower())).ToList();
+ }
+}
diff --git a/Sources/HeartTrack/Program.cs b/Sources/HeartTrack/Program.cs
index f16320e..dda86a9 100644
--- a/Sources/HeartTrack/Program.cs
+++ b/Sources/HeartTrack/Program.cs
@@ -7,6 +7,9 @@ using Blazorise.Icons.FontAwesome;
using Microsoft.AspNetCore.Localization;
using System.Globalization;
using Microsoft.Extensions.Options;
+using Blazored.LocalStorage;
+using HeartTrack.Services;
+using Microsoft.AspNetCore.Components.Authorization;
var builder = WebApplication.CreateBuilder(args);
@@ -15,8 +18,17 @@ builder.Services.AddRazorPages();
builder.Services.AddServerSideBlazor();
builder.Services.AddSingleton();
+// Authentification
+builder.Services.AddOptions();
+builder.Services.AddAuthorizationCore();
+builder.Services.AddScoped();
+builder.Services.AddScoped(s => s.GetRequiredService());
+builder.Services.AddScoped();
+
builder.Services.AddHttpClient();
+builder.Services.AddScoped();
+
builder.Services.AddBlazorise()
.AddBootstrapProviders()
.AddFontAwesomeIcons();
@@ -38,6 +50,8 @@ builder.Services.Configure(options =>
options.SupportedUICultures = new List { new CultureInfo("en-US"), new CultureInfo("fr-FR") };
});
+builder.Services.AddBlazoredLocalStorage();
+
var app = builder.Build();
// Configure the HTTP request pipeline.
diff --git a/Sources/HeartTrack/Services/AuthService.cs b/Sources/HeartTrack/Services/AuthService.cs
new file mode 100644
index 0000000..d724f3a
--- /dev/null
+++ b/Sources/HeartTrack/Services/AuthService.cs
@@ -0,0 +1,57 @@
+using HeartTrack.Models;
+using System.Security.Claims;
+
+namespace HeartTrack.Services
+{
+ public class AuthService : IAuthService
+ {
+ private static readonly List CurrentUser;
+
+ static AuthService()
+ {
+ CurrentUser = new List
+ {
+ new AppUser { UserName = "Jesus", Password = "123456", Roles = new List { "admin" } },
+ new AppUser { UserName = "Antoine", Password = "123456", Roles = new List { "admin" } },
+ new AppUser { UserName = "Paul", Password = "123456", Roles = new List { "admin" } },
+ new AppUser { UserName = "Kevin", Password = "123456", Roles = new List { "admin" } },
+ new AppUser { UserName = "David", Password = "123456", Roles = new List { "admin" } }
+ };
+ }
+
+ public CurrentUser GetUser(string userName)
+ {
+ var user = CurrentUser.FirstOrDefault(w => w.UserName == userName);
+
+ if (user == null)
+ {
+ throw new Exception("User name or password invalid !");
+ }
+
+ var claims = new List();
+ claims.AddRange(user.Roles.Select(s => new Claim(ClaimTypes.Role, s)));
+
+ return new CurrentUser
+ {
+ IsAuthenticated = true,
+ UserName = user.UserName,
+ Claims = claims.ToDictionary(c => c.Type, c => c.Value)
+ };
+ }
+
+ public void Login(LoginRequest loginRequest)
+ {
+ var user = CurrentUser.FirstOrDefault(w => w.UserName == loginRequest.UserName && w.Password == loginRequest.Password);
+
+ if (user == null)
+ {
+ throw new Exception("User name or password invalid !");
+ }
+ }
+
+ public void Register(RegisterRequest registerRequest)
+ {
+ CurrentUser.Add(new AppUser { UserName = registerRequest.UserName, Password = registerRequest.Password, Roles = new List { "guest" } });
+ }
+ }
+}
diff --git a/Sources/HeartTrack/Services/CustomStateProvider.cs b/Sources/HeartTrack/Services/CustomStateProvider.cs
new file mode 100644
index 0000000..174a847
--- /dev/null
+++ b/Sources/HeartTrack/Services/CustomStateProvider.cs
@@ -0,0 +1,75 @@
+using HeartTrack.Models;
+using Microsoft.AspNetCore.Components.Authorization;
+using System.Security.Claims;
+
+namespace HeartTrack.Services
+{
+ public class CustomStateProvider : AuthenticationStateProvider
+ {
+ private readonly IAuthService _authService;
+ private CurrentUser _currentUser;
+
+ public CustomStateProvider(IAuthService authService)
+ {
+ this._authService = authService;
+ }
+
+ public override async Task GetAuthenticationStateAsync()
+ {
+ var identity = new ClaimsIdentity();
+ try
+ {
+ var userInfo = GetCurrentUser();
+ if (userInfo.IsAuthenticated)
+ {
+ var claims = new[] { new Claim(ClaimTypes.Name, _currentUser.UserName) }.Concat(_currentUser.Claims.Select(c => new Claim(c.Key, c.Value)));
+ identity = new ClaimsIdentity(claims, "Server authentication");
+ }
+ }
+ catch (HttpRequestException ex)
+ {
+ Console.WriteLine("Request failed:" + ex);
+ }
+
+ return new AuthenticationState(new ClaimsPrincipal(identity));
+ }
+
+ public async Task Login(LoginRequest loginParameters)
+ {
+ _authService.Login(loginParameters);
+
+ // No error - Login the user
+ var user = _authService.GetUser(loginParameters.UserName);
+ _currentUser = user;
+
+ NotifyAuthenticationStateChanged(GetAuthenticationStateAsync());
+ }
+
+ public async Task Logout()
+ {
+ _currentUser = null;
+ NotifyAuthenticationStateChanged(GetAuthenticationStateAsync());
+ }
+
+ public async Task Register(RegisterRequest registerParameters)
+ {
+ _authService.Register(registerParameters);
+
+ // No error - Login the user
+ var user = _authService.GetUser(registerParameters.UserName);
+ _currentUser = user;
+
+ NotifyAuthenticationStateChanged(GetAuthenticationStateAsync());
+ }
+
+ private CurrentUser GetCurrentUser()
+ {
+ if (_currentUser != null && _currentUser.IsAuthenticated)
+ {
+ return _currentUser;
+ }
+
+ return new CurrentUser();
+ }
+ }
+}
diff --git a/Sources/HeartTrack/Services/DataLocalService.cs b/Sources/HeartTrack/Services/DataLocalService.cs
new file mode 100644
index 0000000..aa5e843
--- /dev/null
+++ b/Sources/HeartTrack/Services/DataLocalService.cs
@@ -0,0 +1,85 @@
+using Blazored.LocalStorage;
+using HeartTrack.Models;
+using Microsoft.AspNetCore.Components;
+
+namespace HeartTrack.Services
+{
+ public class DataLocalService : IDataService
+ {
+ private readonly HttpClient _http;
+ private readonly ILocalStorageService _localStorage;
+ private readonly NavigationManager _navigationManager;
+ private readonly IWebHostEnvironment _webHostEnvironment;
+
+ public DataLocalService(
+ ILocalStorageService localStorage,
+ HttpClient http,
+ IWebHostEnvironment webHostEnvironment,
+ NavigationManager navigationManager)
+ {
+ _localStorage = localStorage;
+ _http = http;
+ _webHostEnvironment = webHostEnvironment;
+ _navigationManager = navigationManager;
+ }
+
+ public async Task Add(UserModel model)
+ {
+ // Get the current data
+ var currentData = await _localStorage.GetItemAsync>("data");
+
+ // Simulate the Id
+ model.Id = currentData.Max(s => s.Id) + 1;
+
+ // Add the item to the current data
+ currentData.Add(new User
+ {
+ Id = model.Id,
+ Username = model.Username,
+ Nom = model.FirstName,
+ Prenom = model.LastName,
+ Email = model.Email,
+ Password = model.Password,
+ Sexe = model.Sexe,
+ Taille = model.Taille,
+ Poids = model.Poids,
+ BirthDate = model.BirthDate
+ });
+
+ // Save the data
+ await _localStorage.SetItemAsync("data", currentData);
+ }
+
+ public async Task Count()
+ {
+ // Load data from the local storage
+ var currentData = await _localStorage.GetItemAsync("data");
+
+ // Check if data exist in the local storage
+ if (currentData == null)
+ {
+ // this code add in the local storage the fake data
+ var originalData = await _http.GetFromJsonAsync($"{_navigationManager.BaseUri}fake-data.json");
+ await _localStorage.SetItemAsync("data", originalData);
+ }
+
+ return (await _localStorage.GetItemAsync("data")).Length;
+ }
+
+ public async Task> List(int currentPage, int pageSize)
+ {
+ // Load data from the local storage
+ var currentData = await _localStorage.GetItemAsync("data");
+
+ // Check if data exist in the local storage
+ if (currentData == null)
+ {
+ // this code add in the local storage the fake data
+ var originalData = await _http.GetFromJsonAsync($"{_navigationManager.BaseUri}fake-data.json");
+ await _localStorage.SetItemAsync("data", originalData);
+ }
+
+ return (await _localStorage.GetItemAsync("data")).Skip((currentPage - 1) * pageSize).Take(pageSize).ToList();
+ }
+ }
+}
diff --git a/Sources/HeartTrack/Services/IAuthService.cs b/Sources/HeartTrack/Services/IAuthService.cs
new file mode 100644
index 0000000..2cede2c
--- /dev/null
+++ b/Sources/HeartTrack/Services/IAuthService.cs
@@ -0,0 +1,13 @@
+using HeartTrack.Models;
+
+namespace HeartTrack.Services
+{
+ public interface IAuthService
+ {
+ CurrentUser GetUser(string userName);
+
+ void Login(LoginRequest loginRequest);
+
+ void Register(RegisterRequest registerRequest);
+ }
+}
diff --git a/Sources/HeartTrack/Services/IDataService.cs b/Sources/HeartTrack/Services/IDataService.cs
new file mode 100644
index 0000000..53da8e8
--- /dev/null
+++ b/Sources/HeartTrack/Services/IDataService.cs
@@ -0,0 +1,13 @@
+using HeartTrack.Models;
+
+namespace HeartTrack.Services
+{
+ public interface IDataService
+ {
+ Task Add(UserModel model);
+
+ Task Count();
+
+ Task> List(int currentPage, int pageSize);
+ }
+}
diff --git a/Sources/HeartTrack/Shared/AuthLayout.razor b/Sources/HeartTrack/Shared/AuthLayout.razor
new file mode 100644
index 0000000..ae7bc2a
--- /dev/null
+++ b/Sources/HeartTrack/Shared/AuthLayout.razor
@@ -0,0 +1,6 @@
+@inherits LayoutComponentBase
+
\ No newline at end of file
diff --git a/Sources/HeartTrack/Shared/MainLayout.razor b/Sources/HeartTrack/Shared/MainLayout.razor
index 2772a45..1d56865 100644
--- a/Sources/HeartTrack/Shared/MainLayout.razor
+++ b/Sources/HeartTrack/Shared/MainLayout.razor
@@ -15,8 +15,9 @@
@* Messages, notifs et pp compte à mettre *@
-
diff --git a/Sources/HeartTrack/Shared/MainLayout.razor.cs b/Sources/HeartTrack/Shared/MainLayout.razor.cs
new file mode 100644
index 0000000..cb15ad0
--- /dev/null
+++ b/Sources/HeartTrack/Shared/MainLayout.razor.cs
@@ -0,0 +1,32 @@
+using HeartTrack.Services;
+using Microsoft.AspNetCore.Components.Authorization;
+using Microsoft.AspNetCore.Components;
+
+namespace HeartTrack.Shared
+{
+ public partial class MainLayout
+ {
+ [Inject]
+ public CustomStateProvider AuthStateProvider { get; set; }
+
+ [Inject]
+ public NavigationManager NavigationManager { get; set; }
+
+ [CascadingParameter]
+ private Task AuthenticationState { get; set; }
+
+ protected override async Task OnParametersSetAsync()
+ {
+ if (!(await AuthenticationState).User.Identity.IsAuthenticated)
+ {
+ NavigationManager.NavigateTo("/login");
+ }
+ }
+
+ private async Task LogoutClick()
+ {
+ await AuthStateProvider.Logout();
+ NavigationManager.NavigateTo("/login");
+ }
+ }
+}
diff --git a/Sources/HeartTrack/Shared/NavMenu.razor b/Sources/HeartTrack/Shared/NavMenu.razor
index f0a793c..9b119bd 100644
--- a/Sources/HeartTrack/Shared/NavMenu.razor
+++ b/Sources/HeartTrack/Shared/NavMenu.razor
@@ -11,6 +11,13 @@
@Localizer["Global"]
+
+
+
+ Admin page
+
+
+
@Localizer["Ticket"]
diff --git a/Sources/HeartTrack/_Imports.razor b/Sources/HeartTrack/_Imports.razor
index c6230ea..23ce41f 100644
--- a/Sources/HeartTrack/_Imports.razor
+++ b/Sources/HeartTrack/_Imports.razor
@@ -8,4 +8,4 @@
@using Microsoft.JSInterop
@using HeartTrack
@using HeartTrack.Shared
-@using Blazorise.DataGrid
+@using Blazorise.DataGrid
\ No newline at end of file
diff --git a/Sources/HeartTrack/bin/Debug/net6.0/Blazored.LocalStorage.dll b/Sources/HeartTrack/bin/Debug/net6.0/Blazored.LocalStorage.dll
new file mode 100644
index 0000000..6ee7a66
Binary files /dev/null and b/Sources/HeartTrack/bin/Debug/net6.0/Blazored.LocalStorage.dll differ
diff --git a/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.deps.json b/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.deps.json
index f0e8a78..5540dc1 100644
--- a/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.deps.json
+++ b/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.deps.json
@@ -8,9 +8,11 @@
".NETCoreApp,Version=v6.0": {
"HeartTrack/1.0.0": {
"dependencies": {
+ "Blazored.LocalStorage": "4.4.0",
"Blazorise.Bootstrap": "1.4.0",
"Blazorise.DataGrid": "1.4.0",
"Blazorise.Icons.FontAwesome": "1.4.0",
+ "Microsoft.AspNetCore.Components.Authorization": "6.0.1",
"Microsoft.Extensions.Localization": "8.0.1"
},
"runtime": {
@@ -22,6 +24,17 @@
}
}
},
+ "Blazored.LocalStorage/4.4.0": {
+ "dependencies": {
+ "Microsoft.AspNetCore.Components.Web": "6.0.25"
+ },
+ "runtime": {
+ "lib/net6.0/Blazored.LocalStorage.dll": {
+ "assemblyVersion": "1.0.0.0",
+ "fileVersion": "1.0.0.0"
+ }
+ }
+ },
"Blazorise/1.4.0": {
"dependencies": {
"Blazorise.Licensing": "1.2.0",
@@ -124,6 +137,18 @@
}
},
"Microsoft.AspNetCore.Components.Analyzers/6.0.25": {},
+ "Microsoft.AspNetCore.Components.Authorization/6.0.1": {
+ "dependencies": {
+ "Microsoft.AspNetCore.Authorization": "6.0.25",
+ "Microsoft.AspNetCore.Components": "6.0.25"
+ },
+ "runtime": {
+ "lib/net6.0/Microsoft.AspNetCore.Components.Authorization.dll": {
+ "assemblyVersion": "6.0.0.0",
+ "fileVersion": "6.0.121.56714"
+ }
+ }
+ },
"Microsoft.AspNetCore.Components.Forms/6.0.25": {
"dependencies": {
"Microsoft.AspNetCore.Components": "6.0.25"
@@ -925,6 +950,13 @@
"serviceable": false,
"sha512": ""
},
+ "Blazored.LocalStorage/4.4.0": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-zuXZB4/WW3Pr1761peemffdkjt09lbOP1wAkSDTKl7BTbA9V5e8LxS6MNfmyHW+BJzXrNDq90E2Y+AfIfnIbWQ==",
+ "path": "blazored.localstorage/4.4.0",
+ "hashPath": "blazored.localstorage.4.4.0.nupkg.sha512"
+ },
"Blazorise/1.4.0": {
"type": "package",
"serviceable": true,
@@ -988,6 +1020,13 @@
"path": "microsoft.aspnetcore.components.analyzers/6.0.25",
"hashPath": "microsoft.aspnetcore.components.analyzers.6.0.25.nupkg.sha512"
},
+ "Microsoft.AspNetCore.Components.Authorization/6.0.1": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-cVE/z0bqqm1myMBK1pa/an9Z31V4eGb0E9c7gmiiViIq2bTz4TYFwkc9QlXwLwx1EKjNapi/+pTGITHI1ZIzKw==",
+ "path": "microsoft.aspnetcore.components.authorization/6.0.1",
+ "hashPath": "microsoft.aspnetcore.components.authorization.6.0.1.nupkg.sha512"
+ },
"Microsoft.AspNetCore.Components.Forms/6.0.25": {
"type": "package",
"serviceable": true,
diff --git a/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.dll b/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.dll
index 8522146..7501422 100644
Binary files a/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.dll and b/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.dll differ
diff --git a/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.exe b/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.exe
index fa5a7ce..c11a09c 100644
Binary files a/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.exe and b/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.exe differ
diff --git a/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.pdb b/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.pdb
index 5ca6499..8f50e30 100644
Binary files a/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.pdb and b/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.pdb differ
diff --git a/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.staticwebassets.runtime.json b/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.staticwebassets.runtime.json
index 3935666..f356a94 100644
--- a/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.staticwebassets.runtime.json
+++ b/Sources/HeartTrack/bin/Debug/net6.0/HeartTrack.staticwebassets.runtime.json
@@ -1 +1 @@
-{"ContentRoots":["C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\","C:\\Users\\antoi\\.nuget\\packages\\blazorise\\1.4.0\\staticwebassets\\","C:\\Users\\antoi\\.nuget\\packages\\blazorise.datagrid\\1.4.0\\staticwebassets\\","C:\\Users\\antoi\\.nuget\\packages\\blazorise.bootstrap\\1.4.0\\staticwebassets\\","C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\obj\\Debug\\net6.0\\scopedcss\\bundle\\"],"Root":{"Children":{"css":{"Children":{"bootstrap":{"Children":{"bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css"},"Patterns":null},"bootstrap.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css.map"},"Patterns":null}},"Asset":null,"Patterns":null},"open-iconic":{"Children":{"FONT-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/FONT-LICENSE"},"Patterns":null},"font":{"Children":{"css":{"Children":{"open-iconic-bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/css/open-iconic-bootstrap.min.css"},"Patterns":null}},"Asset":null,"Patterns":null},"fonts":{"Children":{"open-iconic.eot":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.eot"},"Patterns":null},"open-iconic.otf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.otf"},"Patterns":null},"open-iconic.svg":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.svg"},"Patterns":null},"open-iconic.ttf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.ttf"},"Patterns":null},"open-iconic.woff":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.woff"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"ICON-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/ICON-LICENSE"},"Patterns":null},"README.md":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/README.md"},"Patterns":null}},"Asset":null,"Patterns":null},"site.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/site.css"},"Patterns":null}},"Asset":null,"Patterns":null},"fake-data.json":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"fake-data.json"},"Patterns":null},"favicon.ico":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"favicon.ico"},"Patterns":null},"_content":{"Children":{"Blazorise":{"Children":{"blazorise.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"blazorise.css"},"Patterns":null},"blazorise.min.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"blazorise.min.css"},"Patterns":null},"breakpoint.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"breakpoint.js"},"Patterns":null},"button.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"button.js"},"Patterns":null},"closable.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"closable.js"},"Patterns":null},"colorPicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"colorPicker.js"},"Patterns":null},"datePicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"datePicker.js"},"Patterns":null},"dragDrop.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"dragDrop.js"},"Patterns":null},"dropdown.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"dropdown.js"},"Patterns":null},"fileEdit.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"fileEdit.js"},"Patterns":null},"filePicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"filePicker.js"},"Patterns":null},"floatingUi.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"floatingUi.js"},"Patterns":null},"inputMask.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"inputMask.js"},"Patterns":null},"io.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"io.js"},"Patterns":null},"memoEdit.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"memoEdit.js"},"Patterns":null},"numericPicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"numericPicker.js"},"Patterns":null},"observer.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"observer.js"},"Patterns":null},"table.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"table.js"},"Patterns":null},"textEdit.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"textEdit.js"},"Patterns":null},"theme.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"theme.js"},"Patterns":null},"timePicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"timePicker.js"},"Patterns":null},"tooltip.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"tooltip.js"},"Patterns":null},"utilities.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"utilities.js"},"Patterns":null},"validators":{"Children":{"DateTimeMaskValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/DateTimeMaskValidator.js"},"Patterns":null},"NoValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/NoValidator.js"},"Patterns":null},"NumericMaskValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/NumericMaskValidator.js"},"Patterns":null},"RegExMaskValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/RegExMaskValidator.js"},"Patterns":null}},"Asset":null,"Patterns":null},"vendors":{"Children":{"autoNumeric.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/autoNumeric.js"},"Patterns":null},"Behave.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/Behave.js"},"Patterns":null},"flatpickr.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/flatpickr.js"},"Patterns":null},"floating-ui-core.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/floating-ui-core.js"},"Patterns":null},"floating-ui.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/floating-ui.js"},"Patterns":null},"inputmask.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/inputmask.js"},"Patterns":null},"jsencrypt.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/jsencrypt.js"},"Patterns":null},"Pickr.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/Pickr.js"},"Patterns":null},"sha512.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/sha512.js"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"Blazorise.DataGrid":{"Children":{"datagrid.js":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"datagrid.js"},"Patterns":null}},"Asset":null,"Patterns":null},"Blazorise.Bootstrap":{"Children":{"blazorise.bootstrap.css":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"blazorise.bootstrap.css"},"Patterns":null},"blazorise.bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"blazorise.bootstrap.min.css"},"Patterns":null},"modal.js":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"modal.js"},"Patterns":null},"tooltip.js":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"tooltip.js"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"HeartTrack.styles.css":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"HeartTrack.styles.css"},"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}}
\ No newline at end of file
+{"ContentRoots":["C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\","C:\\Users\\antoi\\.nuget\\packages\\blazorise\\1.4.0\\staticwebassets\\","C:\\Users\\antoi\\.nuget\\packages\\blazorise.datagrid\\1.4.0\\staticwebassets\\","C:\\Users\\antoi\\.nuget\\packages\\blazorise.bootstrap\\1.4.0\\staticwebassets\\","C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\obj\\Debug\\net6.0\\scopedcss\\bundle\\"],"Root":{"Children":{"css":{"Children":{"bootstrap":{"Children":{"bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css"},"Patterns":null},"bootstrap.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css.map"},"Patterns":null}},"Asset":null,"Patterns":null},"open-iconic":{"Children":{"FONT-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/FONT-LICENSE"},"Patterns":null},"font":{"Children":{"css":{"Children":{"open-iconic-bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/css/open-iconic-bootstrap.min.css"},"Patterns":null}},"Asset":null,"Patterns":null},"fonts":{"Children":{"open-iconic.eot":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.eot"},"Patterns":null},"open-iconic.otf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.otf"},"Patterns":null},"open-iconic.svg":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.svg"},"Patterns":null},"open-iconic.ttf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.ttf"},"Patterns":null},"open-iconic.woff":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.woff"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"ICON-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/ICON-LICENSE"},"Patterns":null},"README.md":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/README.md"},"Patterns":null}},"Asset":null,"Patterns":null},"site.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/site.css"},"Patterns":null}},"Asset":null,"Patterns":null},"fake-data.json":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"fake-data.json"},"Patterns":null},"fake-tickets.json":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"fake-tickets.json"},"Patterns":null},"favicon.ico":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"favicon.ico"},"Patterns":null},"_content":{"Children":{"Blazorise":{"Children":{"blazorise.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"blazorise.css"},"Patterns":null},"blazorise.min.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"blazorise.min.css"},"Patterns":null},"breakpoint.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"breakpoint.js"},"Patterns":null},"button.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"button.js"},"Patterns":null},"closable.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"closable.js"},"Patterns":null},"colorPicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"colorPicker.js"},"Patterns":null},"datePicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"datePicker.js"},"Patterns":null},"dragDrop.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"dragDrop.js"},"Patterns":null},"dropdown.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"dropdown.js"},"Patterns":null},"fileEdit.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"fileEdit.js"},"Patterns":null},"filePicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"filePicker.js"},"Patterns":null},"floatingUi.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"floatingUi.js"},"Patterns":null},"inputMask.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"inputMask.js"},"Patterns":null},"io.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"io.js"},"Patterns":null},"memoEdit.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"memoEdit.js"},"Patterns":null},"numericPicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"numericPicker.js"},"Patterns":null},"observer.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"observer.js"},"Patterns":null},"table.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"table.js"},"Patterns":null},"textEdit.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"textEdit.js"},"Patterns":null},"theme.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"theme.js"},"Patterns":null},"timePicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"timePicker.js"},"Patterns":null},"tooltip.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"tooltip.js"},"Patterns":null},"utilities.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"utilities.js"},"Patterns":null},"validators":{"Children":{"DateTimeMaskValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/DateTimeMaskValidator.js"},"Patterns":null},"NoValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/NoValidator.js"},"Patterns":null},"NumericMaskValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/NumericMaskValidator.js"},"Patterns":null},"RegExMaskValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/RegExMaskValidator.js"},"Patterns":null}},"Asset":null,"Patterns":null},"vendors":{"Children":{"autoNumeric.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/autoNumeric.js"},"Patterns":null},"Behave.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/Behave.js"},"Patterns":null},"flatpickr.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/flatpickr.js"},"Patterns":null},"floating-ui-core.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/floating-ui-core.js"},"Patterns":null},"floating-ui.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/floating-ui.js"},"Patterns":null},"inputmask.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/inputmask.js"},"Patterns":null},"jsencrypt.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/jsencrypt.js"},"Patterns":null},"Pickr.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/Pickr.js"},"Patterns":null},"sha512.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/sha512.js"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"Blazorise.DataGrid":{"Children":{"datagrid.js":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"datagrid.js"},"Patterns":null}},"Asset":null,"Patterns":null},"Blazorise.Bootstrap":{"Children":{"blazorise.bootstrap.css":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"blazorise.bootstrap.css"},"Patterns":null},"blazorise.bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"blazorise.bootstrap.min.css"},"Patterns":null},"modal.js":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"modal.js"},"Patterns":null},"tooltip.js":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"tooltip.js"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"HeartTrack.styles.css":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"HeartTrack.styles.css"},"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}}
\ No newline at end of file
diff --git a/Sources/HeartTrack/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Authorization.dll b/Sources/HeartTrack/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Authorization.dll
new file mode 100644
index 0000000..ecf0581
Binary files /dev/null and b/Sources/HeartTrack/bin/Debug/net6.0/Microsoft.AspNetCore.Components.Authorization.dll differ
diff --git a/Sources/HeartTrack/bin/Debug/net6.0/fr-FR/HeartTrack.resources.dll b/Sources/HeartTrack/bin/Debug/net6.0/fr-FR/HeartTrack.resources.dll
index 4297c07..7c4eb53 100644
Binary files a/Sources/HeartTrack/bin/Debug/net6.0/fr-FR/HeartTrack.resources.dll and b/Sources/HeartTrack/bin/Debug/net6.0/fr-FR/HeartTrack.resources.dll differ
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.AssemblyInfo.cs b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.AssemblyInfo.cs
index 7b8c304..2bf4969 100644
--- a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.AssemblyInfo.cs
+++ b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.AssemblyInfo.cs
@@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("HeartTrack")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+e6eca871930a2077a38dceded406de68248059ea")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+a098e111547c18c55a8705cc7175fee1245ed200")]
[assembly: System.Reflection.AssemblyProductAttribute("HeartTrack")]
[assembly: System.Reflection.AssemblyTitleAttribute("HeartTrack")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.AssemblyInfoInputs.cache b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.AssemblyInfoInputs.cache
index fe230aa..ea77a22 100644
--- a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.AssemblyInfoInputs.cache
+++ b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.AssemblyInfoInputs.cache
@@ -1 +1 @@
-d30ed4a3a42cee40f2ca209ab170f57dc5eeac4fd8080332dd4fcbae3a663d09
+5a687aac22c0782076c5bfe0a6928ecd6e1ff431e08fce9b31ef12d9f3e7872b
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.GeneratedMSBuildEditorConfig.editorconfig b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.GeneratedMSBuildEditorConfig.editorconfig
index f1bc28a..2dc5940 100644
--- a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.GeneratedMSBuildEditorConfig.editorconfig
+++ b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.GeneratedMSBuildEditorConfig.editorconfig
@@ -26,22 +26,38 @@ build_metadata.AdditionalFiles.CssScope =
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcQWN0aXZpdGllcy5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
-[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/BannedUsers.razor]
-build_metadata.AdditionalFiles.TargetPath = UGFnZXNcQmFubmVkVXNlcnMucmF6b3I=
+[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/AddTicket.razor]
+build_metadata.AdditionalFiles.TargetPath = UGFnZXNcQWRkVGlja2V0LnJhem9y
build_metadata.AdditionalFiles.CssScope =
-[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/FetchData.razor]
-build_metadata.AdditionalFiles.TargetPath = UGFnZXNcRmV0Y2hEYXRhLnJhem9y
+[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/Admin.razor]
+build_metadata.AdditionalFiles.TargetPath = UGFnZXNcQWRtaW4ucmF6b3I=
+build_metadata.AdditionalFiles.CssScope =
+
+[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/BannedUsers.razor]
+build_metadata.AdditionalFiles.TargetPath = UGFnZXNcQmFubmVkVXNlcnMucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/Index.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcSW5kZXgucmF6b3I=
build_metadata.AdditionalFiles.CssScope =
+[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/Login.razor]
+build_metadata.AdditionalFiles.TargetPath = UGFnZXNcTG9naW4ucmF6b3I=
+build_metadata.AdditionalFiles.CssScope =
+
+[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/Register.razor]
+build_metadata.AdditionalFiles.TargetPath = UGFnZXNcUmVnaXN0ZXIucmF6b3I=
+build_metadata.AdditionalFiles.CssScope =
+
[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/Reports.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcUmVwb3J0cy5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
+[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/Test.razor]
+build_metadata.AdditionalFiles.TargetPath = UGFnZXNcVGVzdC5yYXpvcg==
+build_metadata.AdditionalFiles.CssScope =
+
[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Pages/Tickets.razor]
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcVGlja2V0cy5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
@@ -50,6 +66,10 @@ build_metadata.AdditionalFiles.CssScope =
build_metadata.AdditionalFiles.TargetPath = UGFnZXNcVG9rZW5zLnJhem9y
build_metadata.AdditionalFiles.CssScope =
+[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Shared/AuthLayout.razor]
+build_metadata.AdditionalFiles.TargetPath = U2hhcmVkXEF1dGhMYXlvdXQucmF6b3I=
+build_metadata.AdditionalFiles.CssScope =
+
[C:/Users/antoi/Documents/Cours/2A/SAE/Admin/Admin/Sources/HeartTrack/Shared/CultureSelector.razor]
build_metadata.AdditionalFiles.TargetPath = U2hhcmVkXEN1bHR1cmVTZWxlY3Rvci5yYXpvcg==
build_metadata.AdditionalFiles.CssScope =
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.assets.cache b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.assets.cache
index 13c4065..dc0a467 100644
Binary files a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.assets.cache and b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.assets.cache differ
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.AssemblyReference.cache b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.AssemblyReference.cache
index e2cbc7d..8332aea 100644
Binary files a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.AssemblyReference.cache and b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.AssemblyReference.cache differ
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.CoreCompileInputs.cache b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.CoreCompileInputs.cache
index 3b95c1c..d7ed450 100644
--- a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.CoreCompileInputs.cache
+++ b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-c63d2a571d8336634ecbf160550214c50149e1f4299792f26181df7f54f2a67c
+745ea91892ff6a7a3b964f04dfaa384d73fe1ef6a90b3230451e2306bbffd4b3
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.FileListAbsolute.txt b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.FileListAbsolute.txt
index 1b732df..4b0c909 100644
--- a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.FileListAbsolute.txt
+++ b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.FileListAbsolute.txt
@@ -56,5 +56,7 @@ C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\n
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.Resources.Pages.Tokens.fr-FR.resources
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.csproj.GenerateResource.cache
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\fr-FR\HeartTrack.resources.dll
+C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Blazored.LocalStorage.dll
+C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\bin\Debug\net6.0\Microsoft.AspNetCore.Components.Authorization.dll
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.Resources.Shared.NavMenu.resources
C:\Users\antoi\Documents\Cours\2A\SAE\Admin\Admin\Sources\HeartTrack\obj\Debug\net6.0\HeartTrack.Resources.Shared.NavMenu.fr-FR.resources
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.GenerateResource.cache b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.GenerateResource.cache
index f56d4e5..8d4daef 100644
Binary files a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.GenerateResource.cache and b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.csproj.GenerateResource.cache differ
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.dll b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.dll
index 8522146..7501422 100644
Binary files a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.dll and b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.dll differ
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.pdb b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.pdb
index 5ca6499..8f50e30 100644
Binary files a/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.pdb and b/Sources/HeartTrack/obj/Debug/net6.0/HeartTrack.pdb differ
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/apphost.exe b/Sources/HeartTrack/obj/Debug/net6.0/apphost.exe
index fa5a7ce..c11a09c 100644
Binary files a/Sources/HeartTrack/obj/Debug/net6.0/apphost.exe and b/Sources/HeartTrack/obj/Debug/net6.0/apphost.exe differ
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/fr-FR/HeartTrack.resources.dll b/Sources/HeartTrack/obj/Debug/net6.0/fr-FR/HeartTrack.resources.dll
index 4297c07..7c4eb53 100644
Binary files a/Sources/HeartTrack/obj/Debug/net6.0/fr-FR/HeartTrack.resources.dll and b/Sources/HeartTrack/obj/Debug/net6.0/fr-FR/HeartTrack.resources.dll differ
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/project.razor.vs.bin b/Sources/HeartTrack/obj/Debug/net6.0/project.razor.vs.bin
index b227de3..c770dc8 100644
Binary files a/Sources/HeartTrack/obj/Debug/net6.0/project.razor.vs.bin and b/Sources/HeartTrack/obj/Debug/net6.0/project.razor.vs.bin differ
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/ref/HeartTrack.dll b/Sources/HeartTrack/obj/Debug/net6.0/ref/HeartTrack.dll
index 73a1a66..30d90a4 100644
Binary files a/Sources/HeartTrack/obj/Debug/net6.0/ref/HeartTrack.dll and b/Sources/HeartTrack/obj/Debug/net6.0/ref/HeartTrack.dll differ
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/refint/HeartTrack.dll b/Sources/HeartTrack/obj/Debug/net6.0/refint/HeartTrack.dll
index 73a1a66..30d90a4 100644
Binary files a/Sources/HeartTrack/obj/Debug/net6.0/refint/HeartTrack.dll and b/Sources/HeartTrack/obj/Debug/net6.0/refint/HeartTrack.dll differ
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets.build.json b/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets.build.json
index e344c4e..2c34665 100644
--- a/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets.build.json
+++ b/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets.build.json
@@ -1,6 +1,6 @@
{
"Version": 1,
- "Hash": "ec240AzVU2glV6r287clUEl7SpsFF2eQwJm6kl4/w3I=",
+ "Hash": "hKkCCyCopeCL2bDCiMqO2ehUbpqNSgrUCESq8+TknS8=",
"Source": "HeartTrack",
"BasePath": "_content/HeartTrack",
"Mode": "Default",
@@ -1080,6 +1080,25 @@
"CopyToPublishDirectory": "PreserveNewest",
"OriginalItemSpec": "wwwroot\\fake-data.json"
},
+ {
+ "Identity": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\fake-tickets.json",
+ "SourceId": "HeartTrack",
+ "SourceType": "Discovered",
+ "ContentRoot": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\",
+ "BasePath": "_content/HeartTrack",
+ "RelativePath": "fake-tickets.json",
+ "AssetKind": "All",
+ "AssetMode": "All",
+ "AssetRole": "Primary",
+ "AssetMergeBehavior": "PreferTarget",
+ "AssetMergeSource": "",
+ "RelatedAsset": "",
+ "AssetTraitName": "",
+ "AssetTraitValue": "",
+ "CopyToOutputDirectory": "Never",
+ "CopyToPublishDirectory": "PreserveNewest",
+ "OriginalItemSpec": "wwwroot\\fake-tickets.json"
+ },
{
"Identity": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\favicon.ico",
"SourceId": "HeartTrack",
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets.development.json b/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets.development.json
index 3935666..f356a94 100644
--- a/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets.development.json
+++ b/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets.development.json
@@ -1 +1 @@
-{"ContentRoots":["C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\","C:\\Users\\antoi\\.nuget\\packages\\blazorise\\1.4.0\\staticwebassets\\","C:\\Users\\antoi\\.nuget\\packages\\blazorise.datagrid\\1.4.0\\staticwebassets\\","C:\\Users\\antoi\\.nuget\\packages\\blazorise.bootstrap\\1.4.0\\staticwebassets\\","C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\obj\\Debug\\net6.0\\scopedcss\\bundle\\"],"Root":{"Children":{"css":{"Children":{"bootstrap":{"Children":{"bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css"},"Patterns":null},"bootstrap.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css.map"},"Patterns":null}},"Asset":null,"Patterns":null},"open-iconic":{"Children":{"FONT-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/FONT-LICENSE"},"Patterns":null},"font":{"Children":{"css":{"Children":{"open-iconic-bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/css/open-iconic-bootstrap.min.css"},"Patterns":null}},"Asset":null,"Patterns":null},"fonts":{"Children":{"open-iconic.eot":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.eot"},"Patterns":null},"open-iconic.otf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.otf"},"Patterns":null},"open-iconic.svg":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.svg"},"Patterns":null},"open-iconic.ttf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.ttf"},"Patterns":null},"open-iconic.woff":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.woff"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"ICON-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/ICON-LICENSE"},"Patterns":null},"README.md":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/README.md"},"Patterns":null}},"Asset":null,"Patterns":null},"site.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/site.css"},"Patterns":null}},"Asset":null,"Patterns":null},"fake-data.json":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"fake-data.json"},"Patterns":null},"favicon.ico":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"favicon.ico"},"Patterns":null},"_content":{"Children":{"Blazorise":{"Children":{"blazorise.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"blazorise.css"},"Patterns":null},"blazorise.min.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"blazorise.min.css"},"Patterns":null},"breakpoint.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"breakpoint.js"},"Patterns":null},"button.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"button.js"},"Patterns":null},"closable.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"closable.js"},"Patterns":null},"colorPicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"colorPicker.js"},"Patterns":null},"datePicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"datePicker.js"},"Patterns":null},"dragDrop.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"dragDrop.js"},"Patterns":null},"dropdown.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"dropdown.js"},"Patterns":null},"fileEdit.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"fileEdit.js"},"Patterns":null},"filePicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"filePicker.js"},"Patterns":null},"floatingUi.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"floatingUi.js"},"Patterns":null},"inputMask.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"inputMask.js"},"Patterns":null},"io.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"io.js"},"Patterns":null},"memoEdit.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"memoEdit.js"},"Patterns":null},"numericPicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"numericPicker.js"},"Patterns":null},"observer.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"observer.js"},"Patterns":null},"table.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"table.js"},"Patterns":null},"textEdit.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"textEdit.js"},"Patterns":null},"theme.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"theme.js"},"Patterns":null},"timePicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"timePicker.js"},"Patterns":null},"tooltip.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"tooltip.js"},"Patterns":null},"utilities.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"utilities.js"},"Patterns":null},"validators":{"Children":{"DateTimeMaskValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/DateTimeMaskValidator.js"},"Patterns":null},"NoValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/NoValidator.js"},"Patterns":null},"NumericMaskValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/NumericMaskValidator.js"},"Patterns":null},"RegExMaskValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/RegExMaskValidator.js"},"Patterns":null}},"Asset":null,"Patterns":null},"vendors":{"Children":{"autoNumeric.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/autoNumeric.js"},"Patterns":null},"Behave.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/Behave.js"},"Patterns":null},"flatpickr.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/flatpickr.js"},"Patterns":null},"floating-ui-core.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/floating-ui-core.js"},"Patterns":null},"floating-ui.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/floating-ui.js"},"Patterns":null},"inputmask.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/inputmask.js"},"Patterns":null},"jsencrypt.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/jsencrypt.js"},"Patterns":null},"Pickr.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/Pickr.js"},"Patterns":null},"sha512.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/sha512.js"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"Blazorise.DataGrid":{"Children":{"datagrid.js":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"datagrid.js"},"Patterns":null}},"Asset":null,"Patterns":null},"Blazorise.Bootstrap":{"Children":{"blazorise.bootstrap.css":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"blazorise.bootstrap.css"},"Patterns":null},"blazorise.bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"blazorise.bootstrap.min.css"},"Patterns":null},"modal.js":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"modal.js"},"Patterns":null},"tooltip.js":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"tooltip.js"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"HeartTrack.styles.css":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"HeartTrack.styles.css"},"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}}
\ No newline at end of file
+{"ContentRoots":["C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\","C:\\Users\\antoi\\.nuget\\packages\\blazorise\\1.4.0\\staticwebassets\\","C:\\Users\\antoi\\.nuget\\packages\\blazorise.datagrid\\1.4.0\\staticwebassets\\","C:\\Users\\antoi\\.nuget\\packages\\blazorise.bootstrap\\1.4.0\\staticwebassets\\","C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\obj\\Debug\\net6.0\\scopedcss\\bundle\\"],"Root":{"Children":{"css":{"Children":{"bootstrap":{"Children":{"bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css"},"Patterns":null},"bootstrap.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/bootstrap/bootstrap.min.css.map"},"Patterns":null}},"Asset":null,"Patterns":null},"open-iconic":{"Children":{"FONT-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/FONT-LICENSE"},"Patterns":null},"font":{"Children":{"css":{"Children":{"open-iconic-bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/css/open-iconic-bootstrap.min.css"},"Patterns":null}},"Asset":null,"Patterns":null},"fonts":{"Children":{"open-iconic.eot":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.eot"},"Patterns":null},"open-iconic.otf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.otf"},"Patterns":null},"open-iconic.svg":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.svg"},"Patterns":null},"open-iconic.ttf":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.ttf"},"Patterns":null},"open-iconic.woff":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/font/fonts/open-iconic.woff"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"ICON-LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/ICON-LICENSE"},"Patterns":null},"README.md":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/open-iconic/README.md"},"Patterns":null}},"Asset":null,"Patterns":null},"site.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/site.css"},"Patterns":null}},"Asset":null,"Patterns":null},"fake-data.json":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"fake-data.json"},"Patterns":null},"fake-tickets.json":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"fake-tickets.json"},"Patterns":null},"favicon.ico":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"favicon.ico"},"Patterns":null},"_content":{"Children":{"Blazorise":{"Children":{"blazorise.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"blazorise.css"},"Patterns":null},"blazorise.min.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"blazorise.min.css"},"Patterns":null},"breakpoint.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"breakpoint.js"},"Patterns":null},"button.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"button.js"},"Patterns":null},"closable.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"closable.js"},"Patterns":null},"colorPicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"colorPicker.js"},"Patterns":null},"datePicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"datePicker.js"},"Patterns":null},"dragDrop.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"dragDrop.js"},"Patterns":null},"dropdown.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"dropdown.js"},"Patterns":null},"fileEdit.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"fileEdit.js"},"Patterns":null},"filePicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"filePicker.js"},"Patterns":null},"floatingUi.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"floatingUi.js"},"Patterns":null},"inputMask.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"inputMask.js"},"Patterns":null},"io.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"io.js"},"Patterns":null},"memoEdit.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"memoEdit.js"},"Patterns":null},"numericPicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"numericPicker.js"},"Patterns":null},"observer.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"observer.js"},"Patterns":null},"table.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"table.js"},"Patterns":null},"textEdit.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"textEdit.js"},"Patterns":null},"theme.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"theme.js"},"Patterns":null},"timePicker.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"timePicker.js"},"Patterns":null},"tooltip.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"tooltip.js"},"Patterns":null},"utilities.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"utilities.js"},"Patterns":null},"validators":{"Children":{"DateTimeMaskValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/DateTimeMaskValidator.js"},"Patterns":null},"NoValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/NoValidator.js"},"Patterns":null},"NumericMaskValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/NumericMaskValidator.js"},"Patterns":null},"RegExMaskValidator.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"validators/RegExMaskValidator.js"},"Patterns":null}},"Asset":null,"Patterns":null},"vendors":{"Children":{"autoNumeric.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/autoNumeric.js"},"Patterns":null},"Behave.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/Behave.js"},"Patterns":null},"flatpickr.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/flatpickr.js"},"Patterns":null},"floating-ui-core.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/floating-ui-core.js"},"Patterns":null},"floating-ui.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/floating-ui.js"},"Patterns":null},"inputmask.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/inputmask.js"},"Patterns":null},"jsencrypt.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/jsencrypt.js"},"Patterns":null},"Pickr.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/Pickr.js"},"Patterns":null},"sha512.js":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"vendors/sha512.js"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"Blazorise.DataGrid":{"Children":{"datagrid.js":{"Children":null,"Asset":{"ContentRootIndex":2,"SubPath":"datagrid.js"},"Patterns":null}},"Asset":null,"Patterns":null},"Blazorise.Bootstrap":{"Children":{"blazorise.bootstrap.css":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"blazorise.bootstrap.css"},"Patterns":null},"blazorise.bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"blazorise.bootstrap.min.css"},"Patterns":null},"modal.js":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"modal.js"},"Patterns":null},"tooltip.js":{"Children":null,"Asset":{"ContentRootIndex":3,"SubPath":"tooltip.js"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"HeartTrack.styles.css":{"Children":null,"Asset":{"ContentRootIndex":4,"SubPath":"HeartTrack.styles.css"},"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}}
\ No newline at end of file
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets.pack.json b/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets.pack.json
index a7d9cee..d365007 100644
--- a/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets.pack.json
+++ b/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets.pack.json
@@ -56,6 +56,10 @@
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\fake-data.json",
"PackagePath": "staticwebassets\\fake-data.json"
},
+ {
+ "Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\fake-tickets.json",
+ "PackagePath": "staticwebassets\\fake-tickets.json"
+ },
{
"Id": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\wwwroot\\favicon.ico",
"PackagePath": "staticwebassets\\favicon.ico"
diff --git a/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets/msbuild.HeartTrack.Microsoft.AspNetCore.StaticWebAssets.props b/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets/msbuild.HeartTrack.Microsoft.AspNetCore.StaticWebAssets.props
index d95bf8a..e42ee48 100644
--- a/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets/msbuild.HeartTrack.Microsoft.AspNetCore.StaticWebAssets.props
+++ b/Sources/HeartTrack/obj/Debug/net6.0/staticwebassets/msbuild.HeartTrack.Microsoft.AspNetCore.StaticWebAssets.props
@@ -208,6 +208,22 @@
PreserveNewest
$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\fake-data.json))
+
+ Package
+ HeartTrack
+ $(MSBuildThisFileDirectory)..\staticwebassets\
+ _content/HeartTrack
+ fake-tickets.json
+ All
+ All
+ Primary
+
+
+
+ Never
+ PreserveNewest
+ $([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\staticwebassets\fake-tickets.json))
+
Package
HeartTrack
diff --git a/Sources/HeartTrack/obj/HeartTrack.csproj.nuget.dgspec.json b/Sources/HeartTrack/obj/HeartTrack.csproj.nuget.dgspec.json
index b0df285..4b30557 100644
--- a/Sources/HeartTrack/obj/HeartTrack.csproj.nuget.dgspec.json
+++ b/Sources/HeartTrack/obj/HeartTrack.csproj.nuget.dgspec.json
@@ -45,6 +45,10 @@
"net6.0": {
"targetAlias": "net6.0",
"dependencies": {
+ "Blazored.LocalStorage": {
+ "target": "Package",
+ "version": "[4.4.0, )"
+ },
"Blazorise.Bootstrap": {
"target": "Package",
"version": "[1.4.0, )"
@@ -57,6 +61,10 @@
"target": "Package",
"version": "[1.4.0, )"
},
+ "Microsoft.AspNetCore.Components.Authorization": {
+ "target": "Package",
+ "version": "[6.0.1, )"
+ },
"Microsoft.Extensions.Localization": {
"target": "Package",
"version": "[8.0.1, )"
diff --git a/Sources/HeartTrack/obj/project.assets.json b/Sources/HeartTrack/obj/project.assets.json
index 13707ab..6dbd97d 100644
--- a/Sources/HeartTrack/obj/project.assets.json
+++ b/Sources/HeartTrack/obj/project.assets.json
@@ -2,6 +2,18 @@
"version": 3,
"targets": {
"net6.0": {
+ "Blazored.LocalStorage/4.4.0": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.AspNetCore.Components.Web": "6.0.0"
+ },
+ "compile": {
+ "lib/net6.0/Blazored.LocalStorage.dll": {}
+ },
+ "runtime": {
+ "lib/net6.0/Blazored.LocalStorage.dll": {}
+ }
+ },
"Blazorise/1.4.0": {
"type": "package",
"dependencies": {
@@ -155,6 +167,23 @@
"buildTransitive/netstandard2.0/Microsoft.AspNetCore.Components.Analyzers.targets": {}
}
},
+ "Microsoft.AspNetCore.Components.Authorization/6.0.1": {
+ "type": "package",
+ "dependencies": {
+ "Microsoft.AspNetCore.Authorization": "6.0.1",
+ "Microsoft.AspNetCore.Components": "6.0.1"
+ },
+ "compile": {
+ "lib/net6.0/Microsoft.AspNetCore.Components.Authorization.dll": {
+ "related": ".xml"
+ }
+ },
+ "runtime": {
+ "lib/net6.0/Microsoft.AspNetCore.Components.Authorization.dll": {
+ "related": ".xml"
+ }
+ }
+ },
"Microsoft.AspNetCore.Components.Forms/6.0.25": {
"type": "package",
"dependencies": {
@@ -1660,6 +1689,20 @@
}
},
"libraries": {
+ "Blazored.LocalStorage/4.4.0": {
+ "sha512": "zuXZB4/WW3Pr1761peemffdkjt09lbOP1wAkSDTKl7BTbA9V5e8LxS6MNfmyHW+BJzXrNDq90E2Y+AfIfnIbWQ==",
+ "type": "package",
+ "path": "blazored.localstorage/4.4.0",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "blazored.localstorage.4.4.0.nupkg.sha512",
+ "blazored.localstorage.nuspec",
+ "icon.png",
+ "lib/net6.0/Blazored.LocalStorage.dll",
+ "lib/net7.0/Blazored.LocalStorage.dll"
+ ]
+ },
"Blazorise/1.4.0": {
"sha512": "RgewqcqsYJN7r5qkX0lYzWq1xpNRBpwdJKN1/wH2Q9hPcLcgyBUIYYTiah0hvlHIhtpWfX+zV85CPlJ5X1Yk4A==",
"type": "package",
@@ -1865,6 +1908,21 @@
"microsoft.aspnetcore.components.analyzers.nuspec"
]
},
+ "Microsoft.AspNetCore.Components.Authorization/6.0.1": {
+ "sha512": "cVE/z0bqqm1myMBK1pa/an9Z31V4eGb0E9c7gmiiViIq2bTz4TYFwkc9QlXwLwx1EKjNapi/+pTGITHI1ZIzKw==",
+ "type": "package",
+ "path": "microsoft.aspnetcore.components.authorization/6.0.1",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "Icon.png",
+ "THIRD-PARTY-NOTICES.txt",
+ "lib/net6.0/Microsoft.AspNetCore.Components.Authorization.dll",
+ "lib/net6.0/Microsoft.AspNetCore.Components.Authorization.xml",
+ "microsoft.aspnetcore.components.authorization.6.0.1.nupkg.sha512",
+ "microsoft.aspnetcore.components.authorization.nuspec"
+ ]
+ },
"Microsoft.AspNetCore.Components.Forms/6.0.25": {
"sha512": "YdO7ajZVU4HOieTQ0THKiqLSHXpE4S10o3sUXXxtSK9FSaiok75sdmbKBFXhl+hEYv0O+BFZRNCR1RRzxFuHUg==",
"type": "package",
@@ -5496,9 +5554,11 @@
},
"projectFileDependencyGroups": {
"net6.0": [
+ "Blazored.LocalStorage >= 4.4.0",
"Blazorise.Bootstrap >= 1.4.0",
"Blazorise.DataGrid >= 1.4.0",
"Blazorise.Icons.FontAwesome >= 1.4.0",
+ "Microsoft.AspNetCore.Components.Authorization >= 6.0.1",
"Microsoft.Extensions.Localization >= 8.0.1"
]
},
@@ -5547,6 +5607,10 @@
"net6.0": {
"targetAlias": "net6.0",
"dependencies": {
+ "Blazored.LocalStorage": {
+ "target": "Package",
+ "version": "[4.4.0, )"
+ },
"Blazorise.Bootstrap": {
"target": "Package",
"version": "[1.4.0, )"
@@ -5559,6 +5623,10 @@
"target": "Package",
"version": "[1.4.0, )"
},
+ "Microsoft.AspNetCore.Components.Authorization": {
+ "target": "Package",
+ "version": "[6.0.1, )"
+ },
"Microsoft.Extensions.Localization": {
"target": "Package",
"version": "[8.0.1, )"
diff --git a/Sources/HeartTrack/obj/project.nuget.cache b/Sources/HeartTrack/obj/project.nuget.cache
index a0c6d44..ed5bea5 100644
--- a/Sources/HeartTrack/obj/project.nuget.cache
+++ b/Sources/HeartTrack/obj/project.nuget.cache
@@ -1,9 +1,10 @@
{
"version": 2,
- "dgSpecHash": "HEByZOGJLG5xIgquSuc7Cqn4OOXS6WtP6DO/ZE4KXgoop+AIZBUfEQWkE1+Cifem5wqyRAEVauiRZVyl63BcBQ==",
+ "dgSpecHash": "S+L/SrPGNv2PU30yTN+p0XLbDm3AuD0IDhYxFTeiwOoF1cku92QTWij93b5S2Vs/UOJnhJFk5ZQYNHis9iNW2Q==",
"success": true,
"projectFilePath": "C:\\Users\\antoi\\Documents\\Cours\\2A\\SAE\\Admin\\Admin\\Sources\\HeartTrack\\HeartTrack.csproj",
"expectedPackageFiles": [
+ "C:\\Users\\antoi\\.nuget\\packages\\blazored.localstorage\\4.4.0\\blazored.localstorage.4.4.0.nupkg.sha512",
"C:\\Users\\antoi\\.nuget\\packages\\blazorise\\1.4.0\\blazorise.1.4.0.nupkg.sha512",
"C:\\Users\\antoi\\.nuget\\packages\\blazorise.bootstrap\\1.4.0\\blazorise.bootstrap.1.4.0.nupkg.sha512",
"C:\\Users\\antoi\\.nuget\\packages\\blazorise.datagrid\\1.4.0\\blazorise.datagrid.1.4.0.nupkg.sha512",
@@ -13,6 +14,7 @@
"C:\\Users\\antoi\\.nuget\\packages\\microsoft.aspnetcore.authorization\\6.0.25\\microsoft.aspnetcore.authorization.6.0.25.nupkg.sha512",
"C:\\Users\\antoi\\.nuget\\packages\\microsoft.aspnetcore.components\\6.0.25\\microsoft.aspnetcore.components.6.0.25.nupkg.sha512",
"C:\\Users\\antoi\\.nuget\\packages\\microsoft.aspnetcore.components.analyzers\\6.0.25\\microsoft.aspnetcore.components.analyzers.6.0.25.nupkg.sha512",
+ "C:\\Users\\antoi\\.nuget\\packages\\microsoft.aspnetcore.components.authorization\\6.0.1\\microsoft.aspnetcore.components.authorization.6.0.1.nupkg.sha512",
"C:\\Users\\antoi\\.nuget\\packages\\microsoft.aspnetcore.components.forms\\6.0.25\\microsoft.aspnetcore.components.forms.6.0.25.nupkg.sha512",
"C:\\Users\\antoi\\.nuget\\packages\\microsoft.aspnetcore.components.web\\6.0.25\\microsoft.aspnetcore.components.web.6.0.25.nupkg.sha512",
"C:\\Users\\antoi\\.nuget\\packages\\microsoft.aspnetcore.metadata\\6.0.25\\microsoft.aspnetcore.metadata.6.0.25.nupkg.sha512",
diff --git a/Sources/HeartTrack/wwwroot/fake-data.json b/Sources/HeartTrack/wwwroot/fake-data.json
index 56bc7d8..a6c5378 100644
--- a/Sources/HeartTrack/wwwroot/fake-data.json
+++ b/Sources/HeartTrack/wwwroot/fake-data.json
@@ -9,7 +9,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2019-10-20"
+ "birthdate": "2018-12-27",
+ "isban": true
},
{
"id": 2,
@@ -21,7 +22,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2022-01-06"
+ "birthdate": "2021-06-29",
+ "isban": true
},
{
"id": 3,
@@ -33,7 +35,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2015-02-05"
+ "birthdate": "2021-04-09",
+ "isban": true
},
{
"id": 4,
@@ -45,7 +48,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2015-04-20"
+ "birthdate": "2022-11-20",
+ "isban": true
},
{
"id": 5,
@@ -57,7 +61,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2020-02-22"
+ "birthdate": "2021-02-20",
+ "isban": true
},
{
"id": 6,
@@ -69,7 +74,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2018-03-11"
+ "birthdate": "2014-02-17",
+ "isban": true
},
{
"id": 7,
@@ -81,7 +87,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2019-04-21"
+ "birthdate": "2020-07-14",
+ "isban": true
},
{
"id": 8,
@@ -93,7 +100,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2023-05-17"
+ "birthdate": "2018-02-21",
+ "isban": false
},
{
"id": 9,
@@ -105,7 +113,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2021-06-16"
+ "birthdate": "2014-07-31",
+ "isban": true
},
{
"id": 10,
@@ -117,7 +126,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2014-09-24"
+ "birthdate": "2019-10-02",
+ "isban": true
},
{
"id": 11,
@@ -129,7 +139,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2015-02-28"
+ "birthdate": "2015-07-26",
+ "isban": false
},
{
"id": 12,
@@ -141,7 +152,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2022-09-26"
+ "birthdate": "2020-10-23",
+ "isban": false
},
{
"id": 13,
@@ -153,7 +165,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2019-06-19"
+ "birthdate": "2014-11-03",
+ "isban": true
},
{
"id": 14,
@@ -165,7 +178,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2022-09-25"
+ "birthdate": "2014-01-31",
+ "isban": false
},
{
"id": 15,
@@ -177,7 +191,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2017-10-21"
+ "birthdate": "2022-04-12",
+ "isban": false
},
{
"id": 16,
@@ -189,7 +204,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2021-02-05"
+ "birthdate": "2018-07-22",
+ "isban": false
},
{
"id": 17,
@@ -201,7 +217,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2018-06-14"
+ "birthdate": "2017-04-04",
+ "isban": true
},
{
"id": 18,
@@ -213,7 +230,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2017-02-09"
+ "birthdate": "2015-08-15",
+ "isban": true
},
{
"id": 19,
@@ -225,7 +243,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2020-09-16"
+ "birthdate": "2022-04-10",
+ "isban": false
},
{
"id": 20,
@@ -237,7 +256,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2020-01-31"
+ "birthdate": "2020-02-09",
+ "isban": false
},
{
"id": 21,
@@ -249,7 +269,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2020-04-11"
+ "birthdate": "2017-02-18",
+ "isban": false
},
{
"id": 22,
@@ -261,7 +282,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2016-10-30"
+ "birthdate": "2023-06-25",
+ "isban": false
},
{
"id": 23,
@@ -273,7 +295,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2014-09-20"
+ "birthdate": "2017-09-27",
+ "isban": true
},
{
"id": 24,
@@ -285,7 +308,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2019-01-21"
+ "birthdate": "2015-02-01",
+ "isban": true
},
{
"id": 25,
@@ -297,7 +321,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2017-10-28"
+ "birthdate": "2017-05-28",
+ "isban": true
},
{
"id": 26,
@@ -309,7 +334,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2021-11-05"
+ "birthdate": "2022-06-11",
+ "isban": true
},
{
"id": 27,
@@ -321,7 +347,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2014-08-06"
+ "birthdate": "2019-08-08",
+ "isban": true
},
{
"id": 28,
@@ -333,7 +360,8 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2020-06-03"
+ "birthdate": "2015-01-29",
+ "isban": false
},
{
"id": 29,
@@ -345,18 +373,7 @@
"sexe": "male",
"taille": 1.76,
"poids": 56.3,
- "birthdate": "2018-07-01"
- },
- {
- "id": 30,
- "username": "johndoe",
- "nom": "Doe",
- "prenom": "John",
- "email": "john.doe@example.com",
- "password": "password123",
- "sexe": "male",
- "taille": 1.76,
- "poids": 56.3,
- "birthdate": "2021-01-22"
+ "birthdate": "2020-08-21",
+ "isban": false
}
]
\ No newline at end of file
diff --git a/Sources/HeartTrack/wwwroot/fake-tickets.json b/Sources/HeartTrack/wwwroot/fake-tickets.json
new file mode 100644
index 0000000..802f171
--- /dev/null
+++ b/Sources/HeartTrack/wwwroot/fake-tickets.json
@@ -0,0 +1,209 @@
+[
+ {
+ "id": 1,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ },
+ {
+ "id": 2,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ },
+ {
+ "id": 3,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": false
+ },
+ {
+ "id": 4,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": false
+ },
+ {
+ "id": 5,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ },
+ {
+ "id": 6,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": false
+ },
+ {
+ "id": 7,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ },
+ {
+ "id": 8,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ },
+ {
+ "id": 9,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": false
+ },
+ {
+ "id": 10,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ },
+ {
+ "id": 11,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": false
+ },
+ {
+ "id": 12,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ },
+ {
+ "id": 13,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ },
+ {
+ "id": 14,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ },
+ {
+ "id": 15,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": false
+ },
+ {
+ "id": 16,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ },
+ {
+ "id": 17,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": false
+ },
+ {
+ "id": 18,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ },
+ {
+ "id": 19,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ },
+ {
+ "id": 20,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ },
+ {
+ "id": 21,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ },
+ {
+ "id": 22,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": false
+ },
+ {
+ "id": 23,
+ "username": "johndoe",
+ "nom": "Doe",
+ "prenom": "John",
+ "contexte": "Jvais dire wallah",
+ "description": "Wallah c`est la description",
+ "urgence": true
+ }
+]
\ No newline at end of file