diff --git a/Sources/HeartTrack/Pages/AddTicket.razor.cs b/Sources/HeartTrack/Pages/AddTicket.razor.cs
index 8238e44..f09892a 100644
--- a/Sources/HeartTrack/Pages/AddTicket.razor.cs
+++ b/Sources/HeartTrack/Pages/AddTicket.razor.cs
@@ -3,14 +3,15 @@ using Microsoft.AspNetCore.Components.Forms;
using Microsoft.AspNetCore.Components;
using HeartTrack.Models;
using HeartTrack.Services;
+using HeartTrack.Services.TicketDataService;
namespace HeartTrack.Pages
{
public partial class AddTicket
{
-
+
[Inject]
- public ILocalStorageService LocalStorage { get; set; }
+ public ITicketDataService TicketStorage { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
@@ -18,15 +19,12 @@ namespace HeartTrack.Pages
[Inject]
public IWebHostEnvironment WebHostEnvironment { get; set; }
- ///
- /// The current item model
- ///
public TicketModel ticketModel = new(){};
private async void HandleValidSubmit()
{
// Get the current data
- var currentData = await LocalStorage.GetItemAsync>("data");
+ var currentData = await TicketStorage.getAllTickets();
// Simulate the Id
ticketModel.Id = currentData.Max(s => s.Id) + 1;
@@ -42,7 +40,7 @@ namespace HeartTrack.Pages
});
// Save the data
- await LocalStorage.SetItemAsync("data", currentData);
+ await TicketStorage.SaveAllTickets(currentData);
NavigationManager.NavigateTo("tickets");
}
diff --git a/Sources/HeartTrack/Pages/Tickets.razor b/Sources/HeartTrack/Pages/Tickets.razor
index 0e5e609..82a5576 100644
--- a/Sources/HeartTrack/Pages/Tickets.razor
+++ b/Sources/HeartTrack/Pages/Tickets.razor
@@ -49,13 +49,13 @@ This is the ticket list of users.
@if (context.isCheck)
{
OnView(context.Id)" />
- OnDelete(context.Id)" />
+ OnDelete(context)" />
}
else
{
OnView(context.Id)" />
OnClose(context.Id)" />
- OnDelete(context.Id)" />
+ OnDelete(context)" />
}
diff --git a/Sources/HeartTrack/Pages/Tickets.razor.cs b/Sources/HeartTrack/Pages/Tickets.razor.cs
index 3a3d392..1e03850 100644
--- a/Sources/HeartTrack/Pages/Tickets.razor.cs
+++ b/Sources/HeartTrack/Pages/Tickets.razor.cs
@@ -3,6 +3,7 @@ using Blazorise;
using Blazorise.DataGrid;
using HeartTrack.Models;
using HeartTrack.Services;
+using HeartTrack.Services.TicketDataService;
using Microsoft.AspNetCore.Components;
using MudBlazor;
using System;
@@ -25,7 +26,7 @@ namespace HeartTrack.Pages
public ILocalStorageService LocalStorage { get; set; }
[Inject]
- public IDataService DataService { get; set; }
+ public ITicketDataService TicketService { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
@@ -71,7 +72,7 @@ namespace HeartTrack.Pages
private async void OnClose(int id)
{
- await DataService.Close(id);
+ await TicketService.Close(id);
// Reload the page
NavigationManager.NavigateTo("tickets", true);
@@ -87,11 +88,10 @@ namespace HeartTrack.Pages
NavigationManager.NavigateTo("tickets/add");
}
- private async void OnDelete(int id)
+ private async void OnDelete(Ticket t)
{
- await DataService.Delete(id);
+ await TicketService.RemoveTicket(t);
- // Reload the page
NavigationManager.NavigateTo("tickets", true);
}
diff --git a/Sources/HeartTrack/Pages/ViewTicket.razor.cs b/Sources/HeartTrack/Pages/ViewTicket.razor.cs
index 649ec73..576aa4d 100644
--- a/Sources/HeartTrack/Pages/ViewTicket.razor.cs
+++ b/Sources/HeartTrack/Pages/ViewTicket.razor.cs
@@ -1,5 +1,6 @@
using HeartTrack.Models;
using HeartTrack.Services;
+using HeartTrack.Services.TicketDataService;
using Microsoft.AspNetCore.Components;
namespace HeartTrack.Pages
@@ -12,7 +13,7 @@ namespace HeartTrack.Pages
private Ticket ticket { get; set; } = new();
[Inject]
- public IDataService DataService { get; set; }
+ public ITicketDataService TicketService { get; set; }
[Inject]
public NavigationManager NavigationManager { get; set; }
@@ -22,7 +23,7 @@ namespace HeartTrack.Pages
protected async Task OnInitializedAsync()
{
- var item = await DataService.GetByID(Id);
+ var item = await TicketService.getTicketById(Id);
ticket = new Ticket
{
diff --git a/Sources/HeartTrack/Program.cs b/Sources/HeartTrack/Program.cs
index d6865e9..5d6d55a 100644
--- a/Sources/HeartTrack/Program.cs
+++ b/Sources/HeartTrack/Program.cs
@@ -20,6 +20,7 @@ using Blazored.LocalStorage;
using HeartTrack.Services;
using Microsoft.AspNetCore.Components.Authorization;
using MudBlazor.Services;
+using HeartTrack.Services.TicketDataServiceFactice;
var builder = WebApplication.CreateBuilder(args);
@@ -35,7 +36,7 @@ builder.Services.AddHttpClient();
builder.Services.AddScoped();
builder.Services.AddScoped();
builder.Services.AddScoped();
-builder.Services.AddScoped();
+builder.Services.AddScoped();
builder.Services.AddScoped();
diff --git a/Sources/HeartTrack/Services/TicketDataService/ITicketDataService.cs b/Sources/HeartTrack/Services/TicketDataService/ITicketDataService.cs
index bc87a6d..bf9c334 100644
--- a/Sources/HeartTrack/Services/TicketDataService/ITicketDataService.cs
+++ b/Sources/HeartTrack/Services/TicketDataService/ITicketDataService.cs
@@ -16,6 +16,7 @@ namespace HeartTrack.Services.TicketDataService
public Task UpdateTicket(Ticket t);
public Task getTicketById(int id);
+ public Task Close(int Id);
}
}
diff --git a/Sources/HeartTrack/Services/TicketDataService/TicketDataServiceAPI.cs b/Sources/HeartTrack/Services/TicketDataService/TicketDataServiceAPI.cs
index b4ecf12..d38e31e 100644
--- a/Sources/HeartTrack/Services/TicketDataService/TicketDataServiceAPI.cs
+++ b/Sources/HeartTrack/Services/TicketDataService/TicketDataServiceAPI.cs
@@ -82,5 +82,10 @@ namespace HeartTrack.Services.TicketDataService
Console.WriteLine("API - Problème mise à jour Ticket");
}
}
+
+ public async Task Close(int id)
+ {
+
+ }
}
}
\ No newline at end of file
diff --git a/Sources/HeartTrack/Services/TicketDataService/TicketDataServiceFactice.cs b/Sources/HeartTrack/Services/TicketDataService/TicketDataServiceFactice.cs
index f67f07d..0bda818 100644
--- a/Sources/HeartTrack/Services/TicketDataService/TicketDataServiceFactice.cs
+++ b/Sources/HeartTrack/Services/TicketDataService/TicketDataServiceFactice.cs
@@ -97,26 +97,17 @@ namespace HeartTrack.Services.TicketDataServiceFactice
public async Task RemoveTicket(Ticket t)
{
- List data = await getAllTickets();
-
- int index = -1;
-
- foreach (Ticket temp in data)
- {
- if (temp.Id == t.Id)
- {
- index = data.IndexOf(temp);
- }
- }
+ // Get the current data
+ var currentData = await _localStorage.GetItemAsync>("data");
- if (index != -1)
- {
- data.RemoveAt(index);
- }
+ // Get the item int the list
+ var item = currentData.FirstOrDefault(w => w.Id == t.Id);
- await this.SaveAllTickets(data);
+ // Delete item in
+ currentData.Remove(item);
- data = await this.getAllTickets();
+ // Save the data
+ await _localStorage.SetItemAsync("data", currentData);
}
public async Task SaveAllTickets(List list)
@@ -134,5 +125,20 @@ namespace HeartTrack.Services.TicketDataServiceFactice
await this.RemoveTicket(t);
await this.AddTicket(t);
}
+
+ public async Task Close(int Id)
+ {
+ // Get the current data
+ var currentData = await _localStorage.GetItemAsync>("data");
+
+ // Get the item int the list
+ var item = currentData.FirstOrDefault(w => w.Id == Id);
+
+ // Update item status
+ item.isCheck = true;
+
+ // Save the data
+ await _localStorage.SetItemAsync("data", currentData);
+ }
}
}
\ No newline at end of file