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) { - + } else { - + } 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