From 1e2a18613eec741e089fe61fef02778a0ba07e33 Mon Sep 17 00:00:00 2001 From: "maxime.rocher" Date: Wed, 8 Jan 2025 17:29:56 +0100 Subject: [PATCH 1/6] =?UTF-8?q?D=C3=A9but=20du=20DTO=20et=20des=20extensio?= =?UTF-8?q?ns?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WF-WebAdmin/WF-WebAdmin/Converter/AdminDTO.cs | 7 +++++++ .../WF-WebAdmin/Converter/AdminExtension.cs | 6 ++++++ WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs | 18 ++++++++++++++++++ .../WF-WebAdmin/Converter/QuoteExtension.cs | 7 +++++++ WF-WebAdmin/WF-WebAdmin/Model/Quote.cs | 12 ++++++------ WF-WebAdmin/WF-WebAdmin/Pages/ValidQuote.razor | 3 +-- 6 files changed, 45 insertions(+), 8 deletions(-) create mode 100644 WF-WebAdmin/WF-WebAdmin/Converter/AdminDTO.cs create mode 100644 WF-WebAdmin/WF-WebAdmin/Converter/AdminExtension.cs create mode 100644 WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs create mode 100644 WF-WebAdmin/WF-WebAdmin/Converter/QuoteExtension.cs diff --git a/WF-WebAdmin/WF-WebAdmin/Converter/AdminDTO.cs b/WF-WebAdmin/WF-WebAdmin/Converter/AdminDTO.cs new file mode 100644 index 0000000..4356cfe --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Converter/AdminDTO.cs @@ -0,0 +1,7 @@ +namespace WF_WebAdmin.Converter +{ + public class AdminDTO + { + + } +} diff --git a/WF-WebAdmin/WF-WebAdmin/Converter/AdminExtension.cs b/WF-WebAdmin/WF-WebAdmin/Converter/AdminExtension.cs new file mode 100644 index 0000000..9b6ef16 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Converter/AdminExtension.cs @@ -0,0 +1,6 @@ +namespace WF_WebAdmin.Converter +{ + public class AdminExtension + { + } +} diff --git a/WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs b/WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs new file mode 100644 index 0000000..532e700 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs @@ -0,0 +1,18 @@ +using Microsoft.AspNetCore.DataProtection.KeyManagement; +using System; + +namespace WF_WebAdmin.Converter +{ + public class QuoteDTO + { + private int id_quote; + private string content; + private int likes; + private string langue; + private bool isValide; + private string? reason; + private int id_caracter; + private int id_source; + private int? id_user_verif; + } +} diff --git a/WF-WebAdmin/WF-WebAdmin/Converter/QuoteExtension.cs b/WF-WebAdmin/WF-WebAdmin/Converter/QuoteExtension.cs new file mode 100644 index 0000000..a449430 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Converter/QuoteExtension.cs @@ -0,0 +1,7 @@ +namespace WF_WebAdmin.Converter +{ + public class QuoteExtension + { + + } +} diff --git a/WF-WebAdmin/WF-WebAdmin/Model/Quote.cs b/WF-WebAdmin/WF-WebAdmin/Model/Quote.cs index 9fcb751..53a25b2 100644 --- a/WF-WebAdmin/WF-WebAdmin/Model/Quote.cs +++ b/WF-WebAdmin/WF-WebAdmin/Model/Quote.cs @@ -4,12 +4,12 @@ { public int Id { get; set; } public string Content { get; set; } - public string Charac { get; set; } - public string ImgPath { get; set; } - public string TitleSrc { get; set; } - public DateTime DateSrc { get; set; } - public int Like { get; set; } + public int Likes { get; set; } public string Langue { get; set; } - public string UserProposition { get; set; } + public bool IsValide { get; set; } + public string? Reason { get; set; } + public int IdCaracter { get; set; } + public int IdSource { get; set; } + public int IdUserVerif { get; set; } } } diff --git a/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuote.razor b/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuote.razor index da423b0..57f8ecc 100644 --- a/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuote.razor +++ b/WF-WebAdmin/WF-WebAdmin/Pages/ValidQuote.razor @@ -21,13 +21,12 @@ else

ID : @quote.Id

Contenu : @quote.Content

Langue : @quote.Langue

-

Likes : @quote.Like

Personnage : @quote.Charac

Image : @quote.ImgPath

Source : @quote.TitleSrc

Date de source : @quote.DateSrc.ToShortDateString()

-

Utilisateur proposition : @quote.UserProposition

+

Utilisateur : @quote.UserProposition

From 5853ad70040636ca8de3bca8527cf09cfd9a4a41 Mon Sep 17 00:00:00 2001 From: Kevin MONDEJAR Date: Wed, 8 Jan 2025 17:31:38 +0100 Subject: [PATCH 2/6] Interface service Quote/User + Debut Stub Service Quote --- .../WF-WebAdmin/Service/IQuoteService.cs | 27 ++++++++ .../WF-WebAdmin/Service/IUserService.cs | 21 ++++++ .../WF-WebAdmin/Service/QuoteServiceStub.cs | 65 +++++++++++++++++++ 3 files changed, 113 insertions(+) create mode 100644 WF-WebAdmin/WF-WebAdmin/Service/IQuoteService.cs create mode 100644 WF-WebAdmin/WF-WebAdmin/Service/IUserService.cs create mode 100644 WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceStub.cs diff --git a/WF-WebAdmin/WF-WebAdmin/Service/IQuoteService.cs b/WF-WebAdmin/WF-WebAdmin/Service/IQuoteService.cs new file mode 100644 index 0000000..e4a165e --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Service/IQuoteService.cs @@ -0,0 +1,27 @@ +using WF_WebAdmin.Model; + +namespace WF_WebAdmin.Service +{ + public interface IQuoteService + { + public void addQuote(Quote quote); + + public void removeQuote(Quote quote); + + public void validQuote(Quote quote); + + public void updateQuote(Quote quote); + + public List getAllQuote(); + + public List getSomeQuote(int nb, int page); + + public Quote getOnequote(int id); + + public List reserchQuote(string reserch, List argument); + + public List getAllQuoteInvalid(); + + public List getSomeQuoteInvalid(int nb, int page); + } +} diff --git a/WF-WebAdmin/WF-WebAdmin/Service/IUserService.cs b/WF-WebAdmin/WF-WebAdmin/Service/IUserService.cs new file mode 100644 index 0000000..1742e10 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Service/IUserService.cs @@ -0,0 +1,21 @@ +using WF_WebAdmin.Model; + +namespace WF_WebAdmin.Service +{ + public interface IUserService + { + public void removeUser(User user); + + public void updateRole(User user); + + public void downgradeRole(User user); + + public List getAllUser(); + + public List getSomeUser(int nb, int page); + + public User getOneUser(int id); + + public List reserchUsers(string reserch, List args); + } +} diff --git a/WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceStub.cs b/WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceStub.cs new file mode 100644 index 0000000..74cf398 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceStub.cs @@ -0,0 +1,65 @@ +using Microsoft.AspNetCore.Components; +using WF_WebAdmin.Model; +using static System.Net.WebRequestMethods; + +namespace WF_WebAdmin.Service +{ + public class QuoteServiceStub : IQuoteService + { + [Inject] + public HttpClient Http { get; set; } + + [Inject] + public NavigationManager NavigationManager { get; set; } + + public void addQuote(Quote quote) + { + + } + + public List getAllQuote() + { + throw new NotImplementedException(); + } + + public List getAllQuoteInvalid() + { + throw new NotImplementedException(); + } + + public Quote getOnequote(int id) + { + throw new NotImplementedException(); + } + + public List getSomeQuote(int nb, int page) + { + throw new NotImplementedException(); + } + + public List getSomeQuoteInvalid(int nb, int page) + { + throw new NotImplementedException(); + } + + public void removeQuote(Quote quote) + { + throw new NotImplementedException(); + } + + public List reserchQuote(string reserch, List argument) + { + throw new NotImplementedException(); + } + + public void updateQuote(Quote quote) + { + throw new NotImplementedException(); + } + + public void validQuote(Quote quote) + { + throw new NotImplementedException(); + } + } +} From cd9edeb2fa69be750180bb5295e187e03a2de4fe Mon Sep 17 00:00:00 2001 From: "maxime.rocher" Date: Thu, 9 Jan 2025 08:30:37 +0100 Subject: [PATCH 3/6] DTO --- WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs | 59 ++++++++++++++++--- .../WF-WebAdmin/Converter/QuoteExtension.cs | 14 ++++- WF-WebAdmin/WF-WebAdmin/Model/Quote.cs | 15 ++++- 3 files changed, 77 insertions(+), 11 deletions(-) diff --git a/WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs b/WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs index 532e700..d2f3a58 100644 --- a/WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs +++ b/WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs @@ -5,14 +5,55 @@ namespace WF_WebAdmin.Converter { public class QuoteDTO { - private int id_quote; - private string content; - private int likes; - private string langue; - private bool isValide; - private string? reason; - private int id_caracter; - private int id_source; - private int? id_user_verif; + public int Id { get; set; } + public string Content { get; set; } + public int Likes { get; set; } + public string Langue { get; set; } + public bool IsValide { get; set; } + public string? Reason { get; set; } + public int IdCaracter { get; set; } + public int IdSource { get; set; } + public int? IdUserVerif { get; set; } + + public QuoteDTO(int id_quote, string content, int likes, string langue, bool isValide, string? reason, int id_caracter, int id_source, int? id_user_verif) + { + this.Id = id_quote; + } + + public int getId_quote() + { + return id_quote; + } + public string getContent() { + return content; + } + public int getLikes() + { + return likes; + } + public string getLangue() + { + return langue; + } + public bool getIsValide() + { + return isValide; + } + public string? getReason() + { + return reason; + } + public int getIdCaracter() + { + return id_caracter; + } + public int getIdSource() + { + return id_source; + } + public int? getIdUserVerif() + { + return id_user_verif; + } } } diff --git a/WF-WebAdmin/WF-WebAdmin/Converter/QuoteExtension.cs b/WF-WebAdmin/WF-WebAdmin/Converter/QuoteExtension.cs index a449430..c3401f3 100644 --- a/WF-WebAdmin/WF-WebAdmin/Converter/QuoteExtension.cs +++ b/WF-WebAdmin/WF-WebAdmin/Converter/QuoteExtension.cs @@ -1,7 +1,19 @@ -namespace WF_WebAdmin.Converter +using WF_WebAdmin.Model; + +namespace WF_WebAdmin.Converter { public class QuoteExtension { + public QuoteDTO QuoteToDTO(Quote q) + { + QuoteDTO quote = new QuoteDTO(q.Id, q.Content, q.Likes, q.Langue, q.IsValide, q.Reason, q.IdCaracter, q.IdSource, q.IdUserVerif); + return quote; + } + public Quote DTOToQuote(QuoteDTO q) + { + Quote quote = new Quote(); + return quote; + } } } diff --git a/WF-WebAdmin/WF-WebAdmin/Model/Quote.cs b/WF-WebAdmin/WF-WebAdmin/Model/Quote.cs index 53a25b2..4e3d711 100644 --- a/WF-WebAdmin/WF-WebAdmin/Model/Quote.cs +++ b/WF-WebAdmin/WF-WebAdmin/Model/Quote.cs @@ -10,6 +10,19 @@ public string? Reason { get; set; } public int IdCaracter { get; set; } public int IdSource { get; set; } - public int IdUserVerif { get; set; } + public int? IdUserVerif { get; set; } + + public Quote(int id, string content, int likes, string langue, bool isValide, string? reason, int idCaracter, int idSource, int idUserVerif) + { + Id = id; + Content = content; + Likes = likes; + Langue = langue; + IsValide = isValide; + Reason = reason; + IdCaracter = idCaracter; + IdSource = idSource; + IdUserVerif = idUserVerif; + } } } From e176e97bb2209de08ebe35e936f965b1a0f184b7 Mon Sep 17 00:00:00 2001 From: Kevin MONDEJAR Date: Thu, 9 Jan 2025 08:44:14 +0100 Subject: [PATCH 4/6] passage a Task interface --- .../WF-WebAdmin/Service/IQuoteService.cs | 20 ++++---- .../WF-WebAdmin/Service/QuoteServiceStub.cs | 51 +------------------ 2 files changed, 11 insertions(+), 60 deletions(-) diff --git a/WF-WebAdmin/WF-WebAdmin/Service/IQuoteService.cs b/WF-WebAdmin/WF-WebAdmin/Service/IQuoteService.cs index e4a165e..a76b4b0 100644 --- a/WF-WebAdmin/WF-WebAdmin/Service/IQuoteService.cs +++ b/WF-WebAdmin/WF-WebAdmin/Service/IQuoteService.cs @@ -4,24 +4,24 @@ namespace WF_WebAdmin.Service { public interface IQuoteService { - public void addQuote(Quote quote); + public Task addQuote(Quote quote); - public void removeQuote(Quote quote); + public Task removeQuote(Quote quote); - public void validQuote(Quote quote); + public Task validQuote(Quote quote); - public void updateQuote(Quote quote); + public Task updateQuote(Quote quote); - public List getAllQuote(); + public Task> getAllQuote(); - public List getSomeQuote(int nb, int page); + public Task> getSomeQuote(int nb, int page); - public Quote getOnequote(int id); + public Task> getOnequote(int id); - public List reserchQuote(string reserch, List argument); + public Task> reserchQuote(string reserch, List argument); - public List getAllQuoteInvalid(); + public Task> getAllQuoteInvalid(); - public List getSomeQuoteInvalid(int nb, int page); + public Task> getSomeQuoteInvalid(int nb, int page); } } diff --git a/WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceStub.cs b/WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceStub.cs index 74cf398..d6be33b 100644 --- a/WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceStub.cs +++ b/WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceStub.cs @@ -12,54 +12,5 @@ namespace WF_WebAdmin.Service [Inject] public NavigationManager NavigationManager { get; set; } - public void addQuote(Quote quote) - { - - } - - public List getAllQuote() - { - throw new NotImplementedException(); - } - - public List getAllQuoteInvalid() - { - throw new NotImplementedException(); - } - - public Quote getOnequote(int id) - { - throw new NotImplementedException(); - } - - public List getSomeQuote(int nb, int page) - { - throw new NotImplementedException(); - } - - public List getSomeQuoteInvalid(int nb, int page) - { - throw new NotImplementedException(); - } - - public void removeQuote(Quote quote) - { - throw new NotImplementedException(); - } - - public List reserchQuote(string reserch, List argument) - { - throw new NotImplementedException(); - } - - public void updateQuote(Quote quote) - { - throw new NotImplementedException(); - } - - public void validQuote(Quote quote) - { - throw new NotImplementedException(); - } - } + } From 4fdfc87290076714248535c7fe0035285233d331 Mon Sep 17 00:00:00 2001 From: "maxime.rocher" Date: Thu, 9 Jan 2025 08:54:15 +0100 Subject: [PATCH 5/6] =?UTF-8?q?DTO=20user=20et=20Quote=20termin=C3=A9=20av?= =?UTF-8?q?ec=20extensions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WF-WebAdmin/WF-WebAdmin/Converter/AdminDTO.cs | 7 --- .../WF-WebAdmin/Converter/AdminExtension.cs | 6 --- WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs | 44 ++++--------------- .../WF-WebAdmin/Converter/QuoteExtension.cs | 2 +- WF-WebAdmin/WF-WebAdmin/Converter/UserDTO.cs | 20 +++++++++ .../WF-WebAdmin/Converter/UserExtension.cs | 19 ++++++++ WF-WebAdmin/WF-WebAdmin/Model/Quote.cs | 13 ++++++ WF-WebAdmin/WF-WebAdmin/Model/User.cs | 9 ++++ WF-WebAdmin/WF-WebAdmin/appsettings.json | 15 ++++--- 9 files changed, 79 insertions(+), 56 deletions(-) delete mode 100644 WF-WebAdmin/WF-WebAdmin/Converter/AdminDTO.cs delete mode 100644 WF-WebAdmin/WF-WebAdmin/Converter/AdminExtension.cs create mode 100644 WF-WebAdmin/WF-WebAdmin/Converter/UserDTO.cs create mode 100644 WF-WebAdmin/WF-WebAdmin/Converter/UserExtension.cs diff --git a/WF-WebAdmin/WF-WebAdmin/Converter/AdminDTO.cs b/WF-WebAdmin/WF-WebAdmin/Converter/AdminDTO.cs deleted file mode 100644 index 4356cfe..0000000 --- a/WF-WebAdmin/WF-WebAdmin/Converter/AdminDTO.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace WF_WebAdmin.Converter -{ - public class AdminDTO - { - - } -} diff --git a/WF-WebAdmin/WF-WebAdmin/Converter/AdminExtension.cs b/WF-WebAdmin/WF-WebAdmin/Converter/AdminExtension.cs deleted file mode 100644 index 9b6ef16..0000000 --- a/WF-WebAdmin/WF-WebAdmin/Converter/AdminExtension.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace WF_WebAdmin.Converter -{ - public class AdminExtension - { - } -} diff --git a/WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs b/WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs index d2f3a58..f8b0fea 100644 --- a/WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs +++ b/WF-WebAdmin/WF-WebAdmin/Converter/QuoteDTO.cs @@ -18,42 +18,14 @@ namespace WF_WebAdmin.Converter public QuoteDTO(int id_quote, string content, int likes, string langue, bool isValide, string? reason, int id_caracter, int id_source, int? id_user_verif) { this.Id = id_quote; - } - - public int getId_quote() - { - return id_quote; - } - public string getContent() { - return content; - } - public int getLikes() - { - return likes; - } - public string getLangue() - { - return langue; - } - public bool getIsValide() - { - return isValide; - } - public string? getReason() - { - return reason; - } - public int getIdCaracter() - { - return id_caracter; - } - public int getIdSource() - { - return id_source; - } - public int? getIdUserVerif() - { - return id_user_verif; + this.Content = content; + this.Likes = likes; + this.Langue = langue; + this.IsValide = isValide; + this.Reason = reason; + this.IdCaracter = id_caracter; + this.IdSource = id_source; + this.IdUserVerif = id_user_verif; } } } diff --git a/WF-WebAdmin/WF-WebAdmin/Converter/QuoteExtension.cs b/WF-WebAdmin/WF-WebAdmin/Converter/QuoteExtension.cs index c3401f3..0f3b187 100644 --- a/WF-WebAdmin/WF-WebAdmin/Converter/QuoteExtension.cs +++ b/WF-WebAdmin/WF-WebAdmin/Converter/QuoteExtension.cs @@ -12,7 +12,7 @@ namespace WF_WebAdmin.Converter public Quote DTOToQuote(QuoteDTO q) { - Quote quote = new Quote(); + Quote quote = new Quote(q.Id, q.Content, q.Likes, q.Langue, q.IsValide, q.Reason, q.IdCaracter, q.IdSource, q.IdUserVerif); return quote; } } diff --git a/WF-WebAdmin/WF-WebAdmin/Converter/UserDTO.cs b/WF-WebAdmin/WF-WebAdmin/Converter/UserDTO.cs new file mode 100644 index 0000000..e1b64da --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Converter/UserDTO.cs @@ -0,0 +1,20 @@ +namespace WF_WebAdmin.Converter +{ + public class UserDTO + { + public int Id { get; set; } + public string Image { get; set; } + public string Name { get; set; } + public string Email { get; set; } + public DateTime DateCreation { get; set; } + + public UserDTO(int id, string image, string name, string email, DateTime dateCreation) + { + this.Id = id; + this.Image = image; + this.Name = name; + this.Email = email; + this.DateCreation = dateCreation; + } + } +} diff --git a/WF-WebAdmin/WF-WebAdmin/Converter/UserExtension.cs b/WF-WebAdmin/WF-WebAdmin/Converter/UserExtension.cs new file mode 100644 index 0000000..4ff0937 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Converter/UserExtension.cs @@ -0,0 +1,19 @@ +using WF_WebAdmin.Model; + +namespace WF_WebAdmin.Converter +{ + public class UserExtension + { + public User UserToDTO(UserDTO u) + { + User user = new User(u.Id, u.Image, u.Name, u.Email, u.DateCreation); + return user; + } + + public UserDTO DTOToUser(User u) + { + UserDTO user = new UserDTO(u.Id, u.Image, u.Name, u.Email, u.DateCreation); + return user; + } + } +} diff --git a/WF-WebAdmin/WF-WebAdmin/Model/Quote.cs b/WF-WebAdmin/WF-WebAdmin/Model/Quote.cs index 4e3d711..c640723 100644 --- a/WF-WebAdmin/WF-WebAdmin/Model/Quote.cs +++ b/WF-WebAdmin/WF-WebAdmin/Model/Quote.cs @@ -24,5 +24,18 @@ IdSource = idSource; IdUserVerif = idUserVerif; } + + public Quote(int id, string content, int likes, string langue, bool isValide, string? reason, int idCaracter, int idSource, int? idUserVerif) + { + Id = id; + Content = content; + Likes = likes; + Langue = langue; + IsValide = isValide; + Reason = reason; + IdCaracter = idCaracter; + IdSource = idSource; + IdUserVerif = idUserVerif; + } } } diff --git a/WF-WebAdmin/WF-WebAdmin/Model/User.cs b/WF-WebAdmin/WF-WebAdmin/Model/User.cs index d599e5b..7598733 100644 --- a/WF-WebAdmin/WF-WebAdmin/Model/User.cs +++ b/WF-WebAdmin/WF-WebAdmin/Model/User.cs @@ -8,5 +8,14 @@ public string Email { get; set; } public DateTime DateCreation { get; set; } + + public User(int id, string image, string name, string email, DateTime dateCreation) + { + this.Id = id; + this.Image = image; + this.Name = name; + this.Email = email; + this.DateCreation = dateCreation; + } } } diff --git a/WF-WebAdmin/WF-WebAdmin/appsettings.json b/WF-WebAdmin/WF-WebAdmin/appsettings.json index 4d56694..3ec194b 100644 --- a/WF-WebAdmin/WF-WebAdmin/appsettings.json +++ b/WF-WebAdmin/WF-WebAdmin/appsettings.json @@ -1,9 +1,12 @@ { - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Warning" + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*", + "ConnectionStrings": { + "DefaultConnection": "Host=localhost;Port=5432;Database=wikifantasy3;Username=postgres;Password=postgres" } - }, - "AllowedHosts": "*" } From 77d8653ffde8f7cb04473a4d4dc7ee5ec7a712d7 Mon Sep 17 00:00:00 2001 From: Louis GUICHARD-MONTGUERS Date: Thu, 9 Jan 2025 10:15:39 +0100 Subject: [PATCH 6/6] ajout --- .../WF-WebAdmin/Service/QuoteServiceLocal.cs | 119 ++++++++++++++++++ WF-WebAdmin/WF-WebAdmin/_Imports.razor | 1 + 2 files changed, 120 insertions(+) create mode 100644 WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceLocal.cs diff --git a/WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceLocal.cs b/WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceLocal.cs new file mode 100644 index 0000000..433e5d4 --- /dev/null +++ b/WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceLocal.cs @@ -0,0 +1,119 @@ +using WF_WebAdmin.Converter; +using WF_WebAdmin.Model; +using Npgsql; + +namespace WF_WebAdmin.Service +{ + public class QuoteServiceLocal: IQuoteService + { + private readonly string? _connectionString = "Host=localhost;Port=5432;Username=loguichard3;Password=Reglisse15.;Database=dbloguichard3"; + + + + + public async Task AddQuoteAsync(Quote quote) + { + QuoteExtension extension = new QuoteExtension(); + QuoteDTO quoteDTO = extension.QuoteToDTO(quote); + + // Utilisation de NpgsqlConnection pour PostgreSQL + using (var connection = new NpgsqlConnection(_connectionString)) + { + // Définir la requête SQL d'insertion + var commandText = "INSERT INTO Quote (content, langue, reason, id_source, id_caracter, id_user_verif, img_path) " + + "VALUES (@content, @langue, @reason, @source, @character, @user, @img_path)"; + + // Créer une commande Npgsql + var command = new NpgsqlCommand(commandText, connection); + + // Ajouter des paramètres à la commande + command.Parameters.AddWithValue("@content", quote.Content); + command.Parameters.AddWithValue("@langue", quote.Langue); + command.Parameters.AddWithValue("@reason", "À vérifier"); // Vous pouvez changer ça si nécessaire + command.Parameters.AddWithValue("@source", quote.Source); + command.Parameters.AddWithValue("@character", quote.Character); + command.Parameters.AddWithValue("@user", quote.User); // Assurez-vous que `quote.User` est correctement défini + command.Parameters.AddWithValue("@img_path", quote.ImgPath); + + try + { + // Ouvrir la connexion à la base de données + await connection.OpenAsync(); + + // Exécuter la commande d'insertion + await command.ExecuteNonQueryAsync(); + } + catch (Exception ex) + { + // Gérer les erreurs ici (par exemple, afficher ou enregistrer les erreurs) + Console.WriteLine($"Une erreur est survenue lors de l'ajout de la citation : {ex.Message}"); + } + finally + { + // Fermer la connexion (automatiquement géré avec `using`, mais ajouté pour explicitement montrer le processus) + await connection.CloseAsync(); + } + } + + // Retourner l'objet DTO pour que vous puissiez l'utiliser ailleurs dans votre application + return quoteDTO; + } + } + + public Task RemoveQuote(Quote quote) + { + QuoteExtension extension = new QuoteExtension(); + QuoteDTO quoteDTO = extension.QuoteToDTO(quote); + + return Task.FromResult(quoteDTO); + } + + public Task validQuote(Quote quote) + { + QuoteExtension extension = new QuoteExtension(); + QuoteDTO quoteDTO = extension.QuoteToDTO(quote); + + return Task.FromResult(quoteDTO); + } + + public Task updateQuote(Quote quote) + { + QuoteExtension extension = new QuoteExtension(); + QuoteDTO quoteDTO = extension.QuoteToDTO(quote); + + return Task.FromResult(quoteDTO); + } + + public Task> getAllQuote() + { + + } + + public Task> getSomeQuote(int nb, int page) + { + + } + + public Task> getOnequote(int id) + { + + } + + public Task> reserchQuote(string reserch, List argument) + { + + } + + public Task> getAllQuoteInvalid() + { + + } + + public Task> getSomeQuoteInvalid(int nb, int page) + { + + } + + + } +} diff --git a/WF-WebAdmin/WF-WebAdmin/_Imports.razor b/WF-WebAdmin/WF-WebAdmin/_Imports.razor index f261bea..cbc1f08 100644 --- a/WF-WebAdmin/WF-WebAdmin/_Imports.razor +++ b/WF-WebAdmin/WF-WebAdmin/_Imports.razor @@ -9,3 +9,4 @@ @using WF_WebAdmin @using WF_WebAdmin.Shared @using Blazorise.DataGrid +