From a6efaf9d5f86bb0ac8d96e099dd1632c718f78f6 Mon Sep 17 00:00:00 2001 From: anperederi Date: Wed, 17 Jan 2024 11:18:26 +0100 Subject: [PATCH] update DataServices --- Sources/HeartTrack/HeartTrack.csproj | 4 +- Sources/HeartTrack/Program.cs | 14 +- .../ActivityDataServiceAPI.cs | 145 ++++----- .../ReportDataService/IReportDataService.cs | 29 +- .../ReportDataService/ReportDataServiceAPI.cs | 144 ++++----- .../ReportDataServiceFactice.cs | 279 +++++++++--------- .../TicketDataService/ITicketDataService.cs | 21 ++ .../TicketDataService/TicketDataServiceAPI.cs | 86 ++++++ .../TicketDataServiceFactice.cs | 138 +++++++++ .../TicketLocalService/ITicketDataService.cs | 22 -- .../TicketDataServiceAPI.cs | 84 ------ .../TicketDataServiceFactice.cs | 140 --------- .../UserDataService/IUserDataService.cs | 29 +- .../UserDataService/UserDataServiceAPI.cs | 144 ++++----- .../UserDataService/UserDataServiceFactice.cs | 279 +++++++++--------- 15 files changed, 781 insertions(+), 777 deletions(-) create mode 100644 Sources/HeartTrack/Services/TicketDataService/ITicketDataService.cs create mode 100644 Sources/HeartTrack/Services/TicketDataService/TicketDataServiceAPI.cs create mode 100644 Sources/HeartTrack/Services/TicketDataService/TicketDataServiceFactice.cs delete mode 100644 Sources/HeartTrack/Services/TicketLocalService/ITicketDataService.cs delete mode 100644 Sources/HeartTrack/Services/TicketLocalService/TicketDataServiceAPI.cs delete mode 100644 Sources/HeartTrack/Services/TicketLocalService/TicketDataServiceFactice.cs diff --git a/Sources/HeartTrack/HeartTrack.csproj b/Sources/HeartTrack/HeartTrack.csproj index b1ab749..1f4f594 100644 --- a/Sources/HeartTrack/HeartTrack.csproj +++ b/Sources/HeartTrack/HeartTrack.csproj @@ -20,9 +20,9 @@ - + @@ -30,8 +30,8 @@ - + diff --git a/Sources/HeartTrack/Program.cs b/Sources/HeartTrack/Program.cs index ce9f551..b733e0e 100644 --- a/Sources/HeartTrack/Program.cs +++ b/Sources/HeartTrack/Program.cs @@ -1,6 +1,4 @@ -using Microsoft.AspNetCore.Components; -using Microsoft.AspNetCore.Components.Web; -using Blazorise; +using Blazorise; using Blazorise.Bootstrap; using Blazorise.Icons.FontAwesome; using Microsoft.AspNetCore.Localization; @@ -8,7 +6,10 @@ using System.Globalization; using Microsoft.Extensions.Options; using Blazored.LocalStorage; using HeartTrack.Services; -using Microsoft.AspNetCore.Components.Authorization; +using HeartTrack.Services.ActivityDataService; +using HeartTrack.Services.ReportDataService; +using HeartTrack.Services.UserDataService; +using HeartTrack.Services.TicketDataService; var builder = WebApplication.CreateBuilder(args); @@ -20,7 +21,10 @@ builder.Services.AddHttpClient(); // Add Services builder.Services.AddScoped(); -//builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); +builder.Services.AddScoped(); builder.Services.AddBlazorise() diff --git a/Sources/HeartTrack/Services/ActivityDataService/ActivityDataServiceAPI.cs b/Sources/HeartTrack/Services/ActivityDataService/ActivityDataServiceAPI.cs index 952cc0a..384eda9 100644 --- a/Sources/HeartTrack/Services/ActivityDataService/ActivityDataServiceAPI.cs +++ b/Sources/HeartTrack/Services/ActivityDataService/ActivityDataServiceAPI.cs @@ -1,86 +1,87 @@ -//using System; -//using HeartTrack.Models; +using System; +using HeartTrack.Models; +using Microsoft.AspNetCore.Components; -//namespace HeartTrack.Services.ActivityDataService -//{ -// public class ActivityDataServiceAPI : IActivityDataService -// { -// [Inject] -// private HttpClient _clientHttp { get; set; } +namespace HeartTrack.Services.ActivityDataService +{ + public class ActivityDataServiceAPI : IActivityDataService + { + [Inject] + private HttpClient _clientHttp { get; set; } -// public ActivityDataServiceAPI(HttpClient clientHttp) -// { -// this._clientHttp = clientHttp; -// } + public ActivityDataServiceAPI(HttpClient clientHttp) + { + this._clientHttp = clientHttp; + } -// public async Task AddActivity(Activity a) -// { -// HttpResponseMessage response = await _clientHttp.PostAsJsonAsync("http://localhost:8080/api/activities", a); + public async Task AddActivity(Activity a) + { + HttpResponseMessage response = await _clientHttp.PostAsJsonAsync("http://localhost:8080/api/activities", a); -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - Activité avec l'id " + a.IdActivity + " ajouté avec succès"); + } + else + { + Console.WriteLine("API - Problème ajout Activité"); + } + } -// public async Task getActivityById(int id) -// { -// Activity activity = await _clientHttp.GetFromJsonAsync>("http://localhost:8080/api/activities/{id}"); -// return activity; -// } + public async Task getActivityById(int id) + { + Activity activity = await _clientHttp.GetFromJsonAsync("http://localhost:8080/api/activities/{id}"); + return activity; + } -// public async Task> getAllActivities() -// { -// List lActivities = await _clientHttp.GetFromJsonAsync>("http://localhost:8080/api/activities"); -// return lActivities; -// } + public async Task> getAllActivities() + { + List lActivities = await _clientHttp.GetFromJsonAsync>("http://localhost:8080/api/activities"); + return lActivities; + } -// public async Task RemoveActivity(Activity a) -// { -// HttpResponseMessage response = await _clientHttp.DeleteAsync($"http://localhost:8080/api/activities/{a.IdActivity}"); + public async Task RemoveActivity(Activity a) + { + HttpResponseMessage response = await _clientHttp.DeleteAsync($"http://localhost:8080/api/activities/{a.IdActivity}"); -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - Activité avec l'id " + a.IdActivity + " supprimé avec succès"); + } + else + { + Console.WriteLine("API - Problème suppression Activité"); + } + } -// public async Task SaveAllActivities(List list) -// { -// HttpResponseMessage response = await _clientHttp.PutAsJsonAsync("http://localhost:8080/api/activities", list); + public async Task SaveAllActivities(List list) + { + HttpResponseMessage response = await _clientHttp.PutAsJsonAsync("http://localhost:8080/api/activities", list); -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - List d'activités sauvegardé avec succès"); + } + else + { + Console.WriteLine("API - Problème sauvegarde List d'activités"); + } + } -// public async Task UpdateActivity(Activity a) -// { -// HttpResponseMessage response = await _clientHttp.PutAsJsonAsync($"http://localhost:8080/api/activities/{a.IdActivity}", a); + public async Task UpdateActivity(Activity a) + { + HttpResponseMessage response = await _clientHttp.PutAsJsonAsync($"http://localhost:8080/api/activities/{a.IdActivity}", a); -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } -// } -//} + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - Activité avec l'id " + a.IdActivity + " mis à jour avec succès"); + } + else + { + Console.WriteLine("API - Problème mise à jour Activité"); + } + } + } +} diff --git a/Sources/HeartTrack/Services/ReportDataService/IReportDataService.cs b/Sources/HeartTrack/Services/ReportDataService/IReportDataService.cs index 96cef79..e58dae7 100644 --- a/Sources/HeartTrack/Services/ReportDataService/IReportDataService.cs +++ b/Sources/HeartTrack/Services/ReportDataService/IReportDataService.cs @@ -1,21 +1,20 @@ -//using System; -//using HeartTrack.Models; +using System; +using HeartTrack.Models; -//namespace HeartTrack.Services.ReportDataService -//{ -// public interface IReportDataService -// { -// public Task> getAllReports(); +namespace HeartTrack.Services.ReportDataService +{ + public interface IReportDataService + { + public Task> getAllReports(); -// public Task SaveAllReports(List list); + public Task SaveAllReports(List list); -// public Task AddReport(Report u); + public Task AddReport(Report r); -// public Task RemoveReport(Report u); + public Task RemoveReport(Report r); -// public Task UpdateReport(Report u); - -// public Task getReportById(int id); -// } -//} + public Task UpdateReport(Report r); + public Task getReportById(int id); + } +} \ No newline at end of file diff --git a/Sources/HeartTrack/Services/ReportDataService/ReportDataServiceAPI.cs b/Sources/HeartTrack/Services/ReportDataService/ReportDataServiceAPI.cs index a3188f1..731fe37 100644 --- a/Sources/HeartTrack/Services/ReportDataService/ReportDataServiceAPI.cs +++ b/Sources/HeartTrack/Services/ReportDataService/ReportDataServiceAPI.cs @@ -1,84 +1,86 @@ -//using System; -//namespace HeartTrack.Services.ActivityDataService -//{ -// public class ActivityDataServiceAPI : IActivityDataService -// { -// [Inject] -// private HttpClient _clientHttp { get; set; } +using System; +using HeartTrack.Models; +using Microsoft.AspNetCore.Components; +namespace HeartTrack.Services.ReportDataService +{ + public class ReportDataServiceAPI : IReportDataService + { + [Inject] + private HttpClient _clientHttp { get; set; } -// public ActivityDataServiceFactice(HttpClient clientHttp) -// { -// this._clientHttp = clientHttp; -// } -// public async Task AddActivity(Activity a) -// { -// HttpResponseMessage response = await _clientHttp.PostAsJsonAsync("http://localhost:8080/api/activities", a); + public ReportDataServiceAPI(HttpClient clientHttp) + { + this._clientHttp = clientHttp; + } -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } + public async Task AddReport(Report r) + { + HttpResponseMessage response = await _clientHttp.PostAsJsonAsync("http://localhost:8080/api/reports", r); -// public async Task getActivityById(int id) -// { -// Activity activity = await _clientHttp.GetFromJsonAsync>("http://localhost:8080/api/activities/{id}"); -// return activity; -// } + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - Report avec l'id " + r.IdReport + " ajouté avec succès"); + } + else + { + Console.WriteLine("API - Problème ajout Report"); + } + } -// public async Task> getAllActivities() -// { -// List lActivities = await _clientHttp.GetFromJsonAsync>("http://localhost:8080/api/activities"); -// return lActivities; -// } + public async Task getReportById(int id) + { + Report Report = await _clientHttp.GetFromJsonAsync("http://localhost:8080/api/reports/{id}"); + return Report; + } -// public async Task RemoveActivity(Activity a) -// { -// HttpResponseMessage response = await _clientHttp.DeleteAsync($"http://localhost:8080/api/activities/{a.IdActivity}"); + public async Task> getAllReports() + { + List lReports = await _clientHttp.GetFromJsonAsync>("http://localhost:8080/api/reports"); + return lReports; + } -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } + public async Task RemoveReport(Report r) + { + HttpResponseMessage response = await _clientHttp.DeleteAsync($"http://localhost:8080/api/reports/{r.Id}"); -// public async Task SaveAllActivities(List list) -// { -// HttpResponseMessage response = await _clientHttp.PutAsJsonAsync("http://localhost:8080/api/activities", list); + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - Report avec l'id " + r.IdReport + " supprimé avec succès"); + } + else + { + Console.WriteLine("API - Problème suppression Report"); + } + } -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } + public async Task SaveAllReports(List list) + { + HttpResponseMessage response = await _clientHttp.PutAsJsonAsync("http://localhost:8080/api/reports", list); -// public async Task UpdateActivity(Activity a) -// { -// HttpResponseMessage response = await _clientHttp.PutAsJsonAsync($"http://localhost:8080/api/activities/{a.IdActivity}", a); + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - List de reports sauvegardé avec succès"); + } + else + { + Console.WriteLine("API - Problème sauvegarde List de reports"); + } + } -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } -// } -//} + public async Task UpdateReport(Report r) + { + HttpResponseMessage response = await _clientHttp.PutAsJsonAsync($"http://localhost:8080/api/reports/{r.Id}", r); + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - Report avec l'id " + r.Id + " mis à jour avec succès"); + } + else + { + Console.WriteLine("API - Problème mise à jour Report"); + } + } + } +} \ No newline at end of file diff --git a/Sources/HeartTrack/Services/ReportDataService/ReportDataServiceFactice.cs b/Sources/HeartTrack/Services/ReportDataService/ReportDataServiceFactice.cs index b11a1e0..c531548 100644 --- a/Sources/HeartTrack/Services/ReportDataService/ReportDataServiceFactice.cs +++ b/Sources/HeartTrack/Services/ReportDataService/ReportDataServiceFactice.cs @@ -1,140 +1,139 @@ -//using System; -//using Blazored.LocalStorage; -//using HeartTrack.Models; -//using HeartTrack.Services.ActivityDataService; -//using Microsoft.AspNetCore.Components; - -//namespace HeartTrack.Services.ActivityDataServiceFactice -//{ -// public class ActivityDataServiceFactice : IActivityDataService -// { -// [Inject] -// private HttpClient _clientHttp { get; set; } - -// [Inject] -// public ILocalStorageService _localStorage { get; set; } - -// [Inject] -// public NavigationManager _navigationManager { get; set; } - -// private String EmplacementLocalStorage { get; set; } -// private String EmplacementJson { get; set; } - - -// public ActivityDataServiceFactice(HttpClient clientHttp, ILocalStorageService localStorage, NavigationManager navigationManager) -// { -// this._clientHttp = clientHttp; -// this._localStorage = localStorage; -// this._navigationManager = navigationManager; - -// this.EmplacementLocalStorage = "activitiesData"; -// this.EmplacementJson = $"{_navigationManager.BaseUri}data/fake-activities.json"; -// } - -// public async Task AddActivity(Activity a) -// { -// List data = await getAllActivities(); -// data.Add(a); -// await this.SaveAllActivities(data); -// } - -// public async Task getActivityById(int id) -// { -// Console.WriteLine("Passage dans le getFromPseudo..."); -// List activities = await getAllActivities(); -// Activity? temp = null; - -// foreach (Activity a in activities) -// { -// if (a.IdActivity == id) -// { -// temp = a; -// } -// } - -// return temp; -// } - -// public async Task> getAllActivities() -// { -// List lActivities = new List(); - -// lActivities = await this.getActivitiesFromLocalStorage(); -// if(lActivities.Count == 0) -// { -// lActivities = await this.getActivitiesFromJson(this.EmplacementJson); -// await this.saveActivitiesLocalStorage(lActivities); -// } - -// return lActivities; -// } - -// private async Task> getActivitiesFromJson(String cheminVersJson) -// { -// List activitiesDeserialiser = new List(); - -// var data = await _clientHttp.GetFromJsonAsync(cheminVersJson); -// activitiesDeserialiser = data.ToList(); - -// return activitiesDeserialiser; -// } - -// private async Task> getActivitiesFromLocalStorage() -// { -// List activitiesFromLocalStorage = null; - -// var data = await _localStorage.GetItemAsync(EmplacementLocalStorage); - -// if (data == null) -// { -// activitiesFromLocalStorage = new List(); -// } -// else -// { -// activitiesFromLocalStorage = data.ToList(); -// } - -// return activitiesFromLocalStorage; -// } - -// public async Task RemoveActivity(Activity a) -// { -// List data = await getAllActivities(); - -// int index = -1; - -// foreach (Activity temp in data) -// { -// if (temp.IdActivity == a.IdActivity) -// { -// index = data.IndexOf(temp); -// } -// } - -// if (index != -1) -// { -// data.RemoveAt(index); -// } - -// await this.SaveAllActivities(data); - -// data = await this.getAllActivities(); -// } - -// public async Task SaveAllActivities(List list) -// { -// await this.saveActivitiesLocalStorage(list); -// } - -// private async Task saveActivitiesLocalStorage(List lActivities) -// { -// await _localStorage.SetItemAsync(this.EmplacementLocalStorage, lActivities); -// } - -// public async Task UpdateActivity(Activity a) -// { -// await this.RemoveActivity(a); -// await this.AddActivity(a); -// } -// } -//} \ No newline at end of file +using System; +using Blazored.LocalStorage; +using HeartTrack.Models; +using HeartTrack.Services.ReportDataService; +using Microsoft.AspNetCore.Components; + +namespace HeartTrack.Services.ReportDataServiceFactice +{ + public class ReportDataServiceFactice : IReportDataService + { + [Inject] + private HttpClient _clientHttp { get; set; } + + [Inject] + public ILocalStorageService _localStorage { get; set; } + + [Inject] + public NavigationManager _navigationManager { get; set; } + + private String EmplacementLocalStorage { get; set; } + private String EmplacementJson { get; set; } + + + public ReportDataServiceFactice(HttpClient clientHttp, ILocalStorageService localStorage, NavigationManager navigationManager) + { + this._clientHttp = clientHttp; + this._localStorage = localStorage; + this._navigationManager = navigationManager; + + this.EmplacementLocalStorage = "reportsData"; + this.EmplacementJson = $"{_navigationManager.BaseUri}data/fake-reports.json"; + } + + public async Task AddReport(Report a) + { + List data = await getAllReports(); + data.Add(a); + await this.SaveAllReports(data); + } + + public async Task getReportById(int id) + { + List reports = await getAllReports(); + Report? temp = null; + + foreach (Report r in reports) + { + if (r.Id == id) + { + temp = r; + } + } + + return temp; + } + + public async Task> getAllReports() + { + List lReports = new List(); + + lReports = await this.getReportsFromLocalStorage(); + if (lReports.Count == 0) + { + lReports = await this.getReportsFromJson(this.EmplacementJson); + await this.saveReportsLocalStorage(lReports); + } + + return lReports; + } + + private async Task> getReportsFromJson(String cheminVersJson) + { + List ReportsDeserialiser = new List(); + + var data = await _clientHttp.GetFromJsonAsync(cheminVersJson); + ReportsDeserialiser = data.ToList(); + + return ReportsDeserialiser; + } + + private async Task> getReportsFromLocalStorage() + { + List ReportsFromLocalStorage = null; + + var data = await _localStorage.GetItemAsync(EmplacementLocalStorage); + + if (data == null) + { + ReportsFromLocalStorage = new List(); + } + else + { + ReportsFromLocalStorage = data.ToList(); + } + + return ReportsFromLocalStorage; + } + + public async Task RemoveReport(Report r) + { + List data = await getAllReports(); + + int index = -1; + + foreach (Report temp in data) + { + if (temp.Id == r.Id) + { + index = data.IndexOf(temp); + } + } + + if (index != -1) + { + data.RemoveAt(index); + } + + await this.SaveAllReports(data); + + data = await this.getAllReports(); + } + + public async Task SaveAllReports(List list) + { + await this.saveReportsLocalStorage(list); + } + + private async Task saveReportsLocalStorage(List lReports) + { + await _localStorage.SetItemAsync(this.EmplacementLocalStorage, lReports); + } + + public async Task UpdateReport(Report r) + { + await this.RemoveReport(r); + await this.AddReport(r); + } + } +} \ No newline at end of file diff --git a/Sources/HeartTrack/Services/TicketDataService/ITicketDataService.cs b/Sources/HeartTrack/Services/TicketDataService/ITicketDataService.cs new file mode 100644 index 0000000..bc87a6d --- /dev/null +++ b/Sources/HeartTrack/Services/TicketDataService/ITicketDataService.cs @@ -0,0 +1,21 @@ +using System; +using HeartTrack.Models; + +namespace HeartTrack.Services.TicketDataService +{ + public interface ITicketDataService + { + public Task> getAllTickets(); + + public Task SaveAllTickets(List list); + + public Task AddTicket(Ticket t); + + public Task RemoveTicket(Ticket t); + + public Task UpdateTicket(Ticket t); + + public Task getTicketById(int id); + } +} + diff --git a/Sources/HeartTrack/Services/TicketDataService/TicketDataServiceAPI.cs b/Sources/HeartTrack/Services/TicketDataService/TicketDataServiceAPI.cs new file mode 100644 index 0000000..b4ecf12 --- /dev/null +++ b/Sources/HeartTrack/Services/TicketDataService/TicketDataServiceAPI.cs @@ -0,0 +1,86 @@ +using System; +using HeartTrack.Models; +using Microsoft.AspNetCore.Components; + +namespace HeartTrack.Services.TicketDataService +{ + public class TicketDataServiceAPI : ITicketDataService + { + [Inject] + private HttpClient _clientHttp { get; set; } + + + public TicketDataServiceAPI(HttpClient clientHttp) + { + this._clientHttp = clientHttp; + } + + public async Task AddTicket(Ticket t) + { + HttpResponseMessage response = await _clientHttp.PostAsJsonAsync("http://localhost:8080/api/tickets", t); + + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - Ticket avec l'id " + t.Id + " ajouté avec succès"); + } + else + { + Console.WriteLine("API - Problème ajout Ticket"); + } + } + + public async Task getTicketById(int id) + { + Ticket Ticket = await _clientHttp.GetFromJsonAsync("http://localhost:8080/api/tickets/{id}"); + return Ticket; + } + + public async Task> getAllTickets() + { + List lTickets = await _clientHttp.GetFromJsonAsync>("http://localhost:8080/api/tickets"); + return lTickets; + } + + public async Task RemoveTicket(Ticket t) + { + HttpResponseMessage response = await _clientHttp.DeleteAsync($"http://localhost:8080/api/tickets/{t.Id}"); + + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - Ticket avec l'id " + t.Id + " supprimé avec succès"); + } + else + { + Console.WriteLine("API - Problème suppression Ticket"); + } + } + + public async Task SaveAllTickets(List list) + { + HttpResponseMessage response = await _clientHttp.PutAsJsonAsync("http://localhost:8080/api/tickets", list); + + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - List de tickets sauvegardé avec succès"); + } + else + { + Console.WriteLine("API - Problème sauvegarde List de tickets"); + } + } + + public async Task UpdateTicket(Ticket t) + { + HttpResponseMessage response = await _clientHttp.PutAsJsonAsync($"http://localhost:8080/api/tickets/{t.Id}", t); + + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - Ticket avec l'id " + t.Id + " mis à jour avec succès"); + } + else + { + Console.WriteLine("API - Problème mise à jour Ticket"); + } + } + } +} \ No newline at end of file diff --git a/Sources/HeartTrack/Services/TicketDataService/TicketDataServiceFactice.cs b/Sources/HeartTrack/Services/TicketDataService/TicketDataServiceFactice.cs new file mode 100644 index 0000000..f67f07d --- /dev/null +++ b/Sources/HeartTrack/Services/TicketDataService/TicketDataServiceFactice.cs @@ -0,0 +1,138 @@ +using System; +using Blazored.LocalStorage; +using HeartTrack.Models; +using HeartTrack.Services.TicketDataService; +using Microsoft.AspNetCore.Components; + +namespace HeartTrack.Services.TicketDataServiceFactice +{ + public class TicketDataServiceFactice : ITicketDataService + { + [Inject] + private HttpClient _clientHttp { get; set; } + + [Inject] + public ILocalStorageService _localStorage { get; set; } + + [Inject] + public NavigationManager _navigationManager { get; set; } + + private String EmplacementLocalStorage { get; set; } + private String EmplacementJson { get; set; } + + + public TicketDataServiceFactice(HttpClient clientHttp, ILocalStorageService localStorage, NavigationManager navigationManager) + { + this._clientHttp = clientHttp; + this._localStorage = localStorage; + this._navigationManager = navigationManager; + this.EmplacementLocalStorage = "ticketsData"; + this.EmplacementJson = $"{_navigationManager.BaseUri}data/fake-tickets.json"; + } + + public async Task AddTicket(Ticket t) + { + List data = await getAllTickets(); + data.Add(t); + await this.SaveAllTickets(data); + } + + public async Task getTicketById(int id) + { + List tickets = await getAllTickets(); + Ticket? temp = null; + + foreach (Ticket t in tickets) + { + if (t.Id == id) + { + temp = t; + } + } + + return temp; + } + + public async Task> getAllTickets() + { + List lTickets = new List(); + + lTickets = await this.getTicketsFromLocalStorage(); + if (lTickets.Count == 0) + { + lTickets = await this.getTicketsFromJson(this.EmplacementJson); + await this.saveTicketsLocalStorage(lTickets); + } + + return lTickets; + } + + private async Task> getTicketsFromJson(String cheminVersJson) + { + List TicketsDeserialiser = new List(); + + var data = await _clientHttp.GetFromJsonAsync(cheminVersJson); + TicketsDeserialiser = data.ToList(); + + return TicketsDeserialiser; + } + + private async Task> getTicketsFromLocalStorage() + { + List TicketsFromLocalStorage = null; + + var data = await _localStorage.GetItemAsync(EmplacementLocalStorage); + + if (data == null) + { + TicketsFromLocalStorage = new List(); + } + else + { + TicketsFromLocalStorage = data.ToList(); + } + + return TicketsFromLocalStorage; + } + + 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); + } + } + + if (index != -1) + { + data.RemoveAt(index); + } + + await this.SaveAllTickets(data); + + data = await this.getAllTickets(); + } + + public async Task SaveAllTickets(List list) + { + await this.saveTicketsLocalStorage(list); + } + + private async Task saveTicketsLocalStorage(List lTickets) + { + await _localStorage.SetItemAsync(this.EmplacementLocalStorage, lTickets); + } + + public async Task UpdateTicket(Ticket t) + { + await this.RemoveTicket(t); + await this.AddTicket(t); + } + } +} \ No newline at end of file diff --git a/Sources/HeartTrack/Services/TicketLocalService/ITicketDataService.cs b/Sources/HeartTrack/Services/TicketLocalService/ITicketDataService.cs deleted file mode 100644 index 7245e86..0000000 --- a/Sources/HeartTrack/Services/TicketLocalService/ITicketDataService.cs +++ /dev/null @@ -1,22 +0,0 @@ -//using System; -//using HeartTrack.Models; - -//namespace HeartTrack.Services.ActivityDataService -//{ -// public interface IActivityDataService -// { -// public Task> getAllActivities(); - -// public Task SaveAllActivities(List list); - -// public Task ResetDataActivities(); -// public Task AddActivity(Activity u); - -// public Task RemoveActivity(Activity u); - -// public Task UpdateActivity(Activity u); - -// public Task getActivityById(int id); -// } -//} - diff --git a/Sources/HeartTrack/Services/TicketLocalService/TicketDataServiceAPI.cs b/Sources/HeartTrack/Services/TicketLocalService/TicketDataServiceAPI.cs deleted file mode 100644 index a3188f1..0000000 --- a/Sources/HeartTrack/Services/TicketLocalService/TicketDataServiceAPI.cs +++ /dev/null @@ -1,84 +0,0 @@ -//using System; -//namespace HeartTrack.Services.ActivityDataService -//{ -// public class ActivityDataServiceAPI : IActivityDataService -// { -// [Inject] -// private HttpClient _clientHttp { get; set; } - - -// public ActivityDataServiceFactice(HttpClient clientHttp) -// { -// this._clientHttp = clientHttp; -// } - -// public async Task AddActivity(Activity a) -// { -// HttpResponseMessage response = await _clientHttp.PostAsJsonAsync("http://localhost:8080/api/activities", a); - -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } - -// public async Task getActivityById(int id) -// { -// Activity activity = await _clientHttp.GetFromJsonAsync>("http://localhost:8080/api/activities/{id}"); -// return activity; -// } - -// public async Task> getAllActivities() -// { -// List lActivities = await _clientHttp.GetFromJsonAsync>("http://localhost:8080/api/activities"); -// return lActivities; -// } - -// public async Task RemoveActivity(Activity a) -// { -// HttpResponseMessage response = await _clientHttp.DeleteAsync($"http://localhost:8080/api/activities/{a.IdActivity}"); - -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } - -// public async Task SaveAllActivities(List list) -// { -// HttpResponseMessage response = await _clientHttp.PutAsJsonAsync("http://localhost:8080/api/activities", list); - -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } - -// public async Task UpdateActivity(Activity a) -// { -// HttpResponseMessage response = await _clientHttp.PutAsJsonAsync($"http://localhost:8080/api/activities/{a.IdActivity}", a); - -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } -// } -//} - diff --git a/Sources/HeartTrack/Services/TicketLocalService/TicketDataServiceFactice.cs b/Sources/HeartTrack/Services/TicketLocalService/TicketDataServiceFactice.cs deleted file mode 100644 index b11a1e0..0000000 --- a/Sources/HeartTrack/Services/TicketLocalService/TicketDataServiceFactice.cs +++ /dev/null @@ -1,140 +0,0 @@ -//using System; -//using Blazored.LocalStorage; -//using HeartTrack.Models; -//using HeartTrack.Services.ActivityDataService; -//using Microsoft.AspNetCore.Components; - -//namespace HeartTrack.Services.ActivityDataServiceFactice -//{ -// public class ActivityDataServiceFactice : IActivityDataService -// { -// [Inject] -// private HttpClient _clientHttp { get; set; } - -// [Inject] -// public ILocalStorageService _localStorage { get; set; } - -// [Inject] -// public NavigationManager _navigationManager { get; set; } - -// private String EmplacementLocalStorage { get; set; } -// private String EmplacementJson { get; set; } - - -// public ActivityDataServiceFactice(HttpClient clientHttp, ILocalStorageService localStorage, NavigationManager navigationManager) -// { -// this._clientHttp = clientHttp; -// this._localStorage = localStorage; -// this._navigationManager = navigationManager; - -// this.EmplacementLocalStorage = "activitiesData"; -// this.EmplacementJson = $"{_navigationManager.BaseUri}data/fake-activities.json"; -// } - -// public async Task AddActivity(Activity a) -// { -// List data = await getAllActivities(); -// data.Add(a); -// await this.SaveAllActivities(data); -// } - -// public async Task getActivityById(int id) -// { -// Console.WriteLine("Passage dans le getFromPseudo..."); -// List activities = await getAllActivities(); -// Activity? temp = null; - -// foreach (Activity a in activities) -// { -// if (a.IdActivity == id) -// { -// temp = a; -// } -// } - -// return temp; -// } - -// public async Task> getAllActivities() -// { -// List lActivities = new List(); - -// lActivities = await this.getActivitiesFromLocalStorage(); -// if(lActivities.Count == 0) -// { -// lActivities = await this.getActivitiesFromJson(this.EmplacementJson); -// await this.saveActivitiesLocalStorage(lActivities); -// } - -// return lActivities; -// } - -// private async Task> getActivitiesFromJson(String cheminVersJson) -// { -// List activitiesDeserialiser = new List(); - -// var data = await _clientHttp.GetFromJsonAsync(cheminVersJson); -// activitiesDeserialiser = data.ToList(); - -// return activitiesDeserialiser; -// } - -// private async Task> getActivitiesFromLocalStorage() -// { -// List activitiesFromLocalStorage = null; - -// var data = await _localStorage.GetItemAsync(EmplacementLocalStorage); - -// if (data == null) -// { -// activitiesFromLocalStorage = new List(); -// } -// else -// { -// activitiesFromLocalStorage = data.ToList(); -// } - -// return activitiesFromLocalStorage; -// } - -// public async Task RemoveActivity(Activity a) -// { -// List data = await getAllActivities(); - -// int index = -1; - -// foreach (Activity temp in data) -// { -// if (temp.IdActivity == a.IdActivity) -// { -// index = data.IndexOf(temp); -// } -// } - -// if (index != -1) -// { -// data.RemoveAt(index); -// } - -// await this.SaveAllActivities(data); - -// data = await this.getAllActivities(); -// } - -// public async Task SaveAllActivities(List list) -// { -// await this.saveActivitiesLocalStorage(list); -// } - -// private async Task saveActivitiesLocalStorage(List lActivities) -// { -// await _localStorage.SetItemAsync(this.EmplacementLocalStorage, lActivities); -// } - -// public async Task UpdateActivity(Activity a) -// { -// await this.RemoveActivity(a); -// await this.AddActivity(a); -// } -// } -//} \ No newline at end of file diff --git a/Sources/HeartTrack/Services/UserDataService/IUserDataService.cs b/Sources/HeartTrack/Services/UserDataService/IUserDataService.cs index 7245e86..2e9673b 100644 --- a/Sources/HeartTrack/Services/UserDataService/IUserDataService.cs +++ b/Sources/HeartTrack/Services/UserDataService/IUserDataService.cs @@ -1,22 +1,21 @@ -//using System; -//using HeartTrack.Models; +using System; +using HeartTrack.Models; -//namespace HeartTrack.Services.ActivityDataService -//{ -// public interface IActivityDataService -// { -// public Task> getAllActivities(); +namespace HeartTrack.Services.UserDataService +{ + public interface IUserDataService + { + public Task> getAllUsers(); -// public Task SaveAllActivities(List list); + public Task SaveAllUsers(List list); -// public Task ResetDataActivities(); -// public Task AddActivity(Activity u); + public Task AddUser(User u); -// public Task RemoveActivity(Activity u); + public Task RemoveUser(User u); -// public Task UpdateActivity(Activity u); + public Task UpdateUser(User u); -// public Task getActivityById(int id); -// } -//} + public Task getUserById(int id); + } +} diff --git a/Sources/HeartTrack/Services/UserDataService/UserDataServiceAPI.cs b/Sources/HeartTrack/Services/UserDataService/UserDataServiceAPI.cs index a3188f1..4623ffc 100644 --- a/Sources/HeartTrack/Services/UserDataService/UserDataServiceAPI.cs +++ b/Sources/HeartTrack/Services/UserDataService/UserDataServiceAPI.cs @@ -1,84 +1,86 @@ -//using System; -//namespace HeartTrack.Services.ActivityDataService -//{ -// public class ActivityDataServiceAPI : IActivityDataService -// { -// [Inject] -// private HttpClient _clientHttp { get; set; } +using System; +using HeartTrack.Models; +using Microsoft.AspNetCore.Components; +namespace HeartTrack.Services.UserDataService +{ + public class UserDataServiceAPI : IUserDataService + { + [Inject] + private HttpClient _clientHttp { get; set; } -// public ActivityDataServiceFactice(HttpClient clientHttp) -// { -// this._clientHttp = clientHttp; -// } -// public async Task AddActivity(Activity a) -// { -// HttpResponseMessage response = await _clientHttp.PostAsJsonAsync("http://localhost:8080/api/activities", a); + public UserDataServiceAPI(HttpClient clientHttp) + { + this._clientHttp = clientHttp; + } -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } + public async Task AddUser(User u) + { + HttpResponseMessage response = await _clientHttp.PostAsJsonAsync("http://localhost:8080/api/users", u); -// public async Task getActivityById(int id) -// { -// Activity activity = await _clientHttp.GetFromJsonAsync>("http://localhost:8080/api/activities/{id}"); -// return activity; -// } + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - User avec l'id " + u.Id + " ajouté avec succès"); + } + else + { + Console.WriteLine("API - Problème ajout User"); + } + } -// public async Task> getAllActivities() -// { -// List lActivities = await _clientHttp.GetFromJsonAsync>("http://localhost:8080/api/activities"); -// return lActivities; -// } + public async Task getUserById(int id) + { + User User = await _clientHttp.GetFromJsonAsync("http://localhost:8080/api/users/{id}"); + return User; + } -// public async Task RemoveActivity(Activity a) -// { -// HttpResponseMessage response = await _clientHttp.DeleteAsync($"http://localhost:8080/api/activities/{a.IdActivity}"); + public async Task> getAllUsers() + { + List lUsers = await _clientHttp.GetFromJsonAsync>("http://localhost:8080/api/users"); + return lUsers; + } -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } + public async Task RemoveUser(User u) + { + HttpResponseMessage response = await _clientHttp.DeleteAsync($"http://localhost:8080/api/users/{u.Id}"); -// public async Task SaveAllActivities(List list) -// { -// HttpResponseMessage response = await _clientHttp.PutAsJsonAsync("http://localhost:8080/api/activities", list); + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - User avec l'id " + u.Id + " supprimé avec succès"); + } + else + { + Console.WriteLine("API - Problème suppression User"); + } + } -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } + public async Task SaveAllUsers(List list) + { + HttpResponseMessage response = await _clientHttp.PutAsJsonAsync("http://localhost:8080/api/users", list); -// public async Task UpdateActivity(Activity a) -// { -// HttpResponseMessage response = await _clientHttp.PutAsJsonAsync($"http://localhost:8080/api/activities/{a.IdActivity}", a); + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - List de users sauvegardé avec succès"); + } + else + { + Console.WriteLine("API - Problème sauvegarde List de users"); + } + } -// if (response.IsSuccessStatusCode) -// { -// // La requête a réussi -// } -// else -// { -// // La requête a échoué -// } -// } -// } -//} + public async Task UpdateUser(User u) + { + HttpResponseMessage response = await _clientHttp.PutAsJsonAsync($"http://localhost:8080/api/users/{u.Id}", u); + if (response.IsSuccessStatusCode) + { + Console.WriteLine("API - User avec l'id " + u.Id + " mis à jour avec succès"); + } + else + { + Console.WriteLine("API - Problème mise à jour User"); + } + } + } +} \ No newline at end of file diff --git a/Sources/HeartTrack/Services/UserDataService/UserDataServiceFactice.cs b/Sources/HeartTrack/Services/UserDataService/UserDataServiceFactice.cs index b11a1e0..5a43b6b 100644 --- a/Sources/HeartTrack/Services/UserDataService/UserDataServiceFactice.cs +++ b/Sources/HeartTrack/Services/UserDataService/UserDataServiceFactice.cs @@ -1,140 +1,139 @@ -//using System; -//using Blazored.LocalStorage; -//using HeartTrack.Models; -//using HeartTrack.Services.ActivityDataService; -//using Microsoft.AspNetCore.Components; - -//namespace HeartTrack.Services.ActivityDataServiceFactice -//{ -// public class ActivityDataServiceFactice : IActivityDataService -// { -// [Inject] -// private HttpClient _clientHttp { get; set; } - -// [Inject] -// public ILocalStorageService _localStorage { get; set; } - -// [Inject] -// public NavigationManager _navigationManager { get; set; } - -// private String EmplacementLocalStorage { get; set; } -// private String EmplacementJson { get; set; } - - -// public ActivityDataServiceFactice(HttpClient clientHttp, ILocalStorageService localStorage, NavigationManager navigationManager) -// { -// this._clientHttp = clientHttp; -// this._localStorage = localStorage; -// this._navigationManager = navigationManager; - -// this.EmplacementLocalStorage = "activitiesData"; -// this.EmplacementJson = $"{_navigationManager.BaseUri}data/fake-activities.json"; -// } - -// public async Task AddActivity(Activity a) -// { -// List data = await getAllActivities(); -// data.Add(a); -// await this.SaveAllActivities(data); -// } - -// public async Task getActivityById(int id) -// { -// Console.WriteLine("Passage dans le getFromPseudo..."); -// List activities = await getAllActivities(); -// Activity? temp = null; - -// foreach (Activity a in activities) -// { -// if (a.IdActivity == id) -// { -// temp = a; -// } -// } - -// return temp; -// } - -// public async Task> getAllActivities() -// { -// List lActivities = new List(); - -// lActivities = await this.getActivitiesFromLocalStorage(); -// if(lActivities.Count == 0) -// { -// lActivities = await this.getActivitiesFromJson(this.EmplacementJson); -// await this.saveActivitiesLocalStorage(lActivities); -// } - -// return lActivities; -// } - -// private async Task> getActivitiesFromJson(String cheminVersJson) -// { -// List activitiesDeserialiser = new List(); - -// var data = await _clientHttp.GetFromJsonAsync(cheminVersJson); -// activitiesDeserialiser = data.ToList(); - -// return activitiesDeserialiser; -// } - -// private async Task> getActivitiesFromLocalStorage() -// { -// List activitiesFromLocalStorage = null; - -// var data = await _localStorage.GetItemAsync(EmplacementLocalStorage); - -// if (data == null) -// { -// activitiesFromLocalStorage = new List(); -// } -// else -// { -// activitiesFromLocalStorage = data.ToList(); -// } - -// return activitiesFromLocalStorage; -// } - -// public async Task RemoveActivity(Activity a) -// { -// List data = await getAllActivities(); - -// int index = -1; - -// foreach (Activity temp in data) -// { -// if (temp.IdActivity == a.IdActivity) -// { -// index = data.IndexOf(temp); -// } -// } - -// if (index != -1) -// { -// data.RemoveAt(index); -// } - -// await this.SaveAllActivities(data); - -// data = await this.getAllActivities(); -// } - -// public async Task SaveAllActivities(List list) -// { -// await this.saveActivitiesLocalStorage(list); -// } - -// private async Task saveActivitiesLocalStorage(List lActivities) -// { -// await _localStorage.SetItemAsync(this.EmplacementLocalStorage, lActivities); -// } - -// public async Task UpdateActivity(Activity a) -// { -// await this.RemoveActivity(a); -// await this.AddActivity(a); -// } -// } -//} \ No newline at end of file +using System; +using Blazored.LocalStorage; +using HeartTrack.Models; +using HeartTrack.Services.UserDataService; +using Microsoft.AspNetCore.Components; + +namespace HeartTrack.Services.UserDataServiceFactice +{ + public class UserDataServiceFactice : IUserDataService + { + [Inject] + private HttpClient _clientHttp { get; set; } + + [Inject] + public ILocalStorageService _localStorage { get; set; } + + [Inject] + public NavigationManager _navigationManager { get; set; } + + private String EmplacementLocalStorage { get; set; } + private String EmplacementJson { get; set; } + + + public UserDataServiceFactice(HttpClient clientHttp, ILocalStorageService localStorage, NavigationManager navigationManager) + { + this._clientHttp = clientHttp; + this._localStorage = localStorage; + this._navigationManager = navigationManager; + + this.EmplacementLocalStorage = "usersData"; + this.EmplacementJson = $"{_navigationManager.BaseUri}data/fake-users.json"; + } + + public async Task AddUser(User u) + { + List data = await getAllUsers(); + data.Add(u); + await this.SaveAllUsers(data); + } + + public async Task getUserById(int id) + { + List users = await getAllUsers(); + User? temp = null; + + foreach (User u in users) + { + if (u.Id == id) + { + temp = u; + } + } + + return temp; + } + + public async Task> getAllUsers() + { + List lUsers = new List(); + + lUsers = await this.getUsersFromLocalStorage(); + if (lUsers.Count == 0) + { + lUsers = await this.getUsersFromJson(this.EmplacementJson); + await this.saveUsersLocalStorage(lUsers); + } + + return lUsers; + } + + private async Task> getUsersFromJson(String cheminVersJson) + { + List UsersDeserialiser = new List(); + + var data = await _clientHttp.GetFromJsonAsync(cheminVersJson); + UsersDeserialiser = data.ToList(); + + return UsersDeserialiser; + } + + private async Task> getUsersFromLocalStorage() + { + List UsersFromLocalStorage = null; + + var data = await _localStorage.GetItemAsync(EmplacementLocalStorage); + + if (data == null) + { + UsersFromLocalStorage = new List(); + } + else + { + UsersFromLocalStorage = data.ToList(); + } + + return UsersFromLocalStorage; + } + + public async Task RemoveUser(User u) + { + List data = await getAllUsers(); + + int index = -1; + + foreach (User temp in data) + { + if (temp.Id == u.Id) + { + index = data.IndexOf(temp); + } + } + + if (index != -1) + { + data.RemoveAt(index); + } + + await this.SaveAllUsers(data); + + data = await this.getAllUsers(); + } + + public async Task SaveAllUsers(List list) + { + await this.saveUsersLocalStorage(list); + } + + private async Task saveUsersLocalStorage(List lUsers) + { + await _localStorage.SetItemAsync(this.EmplacementLocalStorage, lUsers); + } + + public async Task UpdateUser(User u) + { + await this.RemoveUser(u); + await this.AddUser(u); + } + } +} \ No newline at end of file