using System; using HeartTrack.Models; using Microsoft.AspNetCore.Components; namespace HeartTrack.Services.ReportDataService { public class ReportDataServiceAPI : IReportDataService { [Inject] private HttpClient _clientHttp { get; set; } public ReportDataServiceAPI(HttpClient clientHttp) { this._clientHttp = clientHttp; } public async Task AddReport(Report r) { HttpResponseMessage response = await _clientHttp.PostAsJsonAsync("http://localhost:8080/api/reports", r); if (response.IsSuccessStatusCode) { Console.WriteLine("API - Report avec l'id " + r.Id + " ajouté avec succès"); } else { Console.WriteLine("API - Problème ajout Report"); } } public async Task getReportById(int id) { Report Report = await _clientHttp.GetFromJsonAsync("http://localhost:8080/api/reports/{id}"); return Report; } public async Task> getAllReports() { List lReports = await _clientHttp.GetFromJsonAsync>("http://localhost:8080/api/reports"); return lReports; } public async Task RemoveReport(Report r) { HttpResponseMessage response = await _clientHttp.DeleteAsync($"http://localhost:8080/api/reports/{r.Id}"); if (response.IsSuccessStatusCode) { Console.WriteLine("API - Report avec l'id " + r.Id + " supprimé avec succès"); } else { Console.WriteLine("API - Problème suppression Report"); } } public async Task SaveAllReports(List list) { HttpResponseMessage response = await _clientHttp.PutAsJsonAsync("http://localhost:8080/api/reports", list); if (response.IsSuccessStatusCode) { Console.WriteLine("API - List de reports sauvegardé avec succès"); } else { Console.WriteLine("API - Problème sauvegarde List de reports"); } } 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"); } } } }