diff --git a/WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceLocal.cs b/WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceLocal.cs index 51f28c7..ec7cfac 100644 --- a/WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceLocal.cs +++ b/WF-WebAdmin/WF-WebAdmin/Service/QuoteServiceLocal.cs @@ -13,9 +13,51 @@ namespace WF_WebAdmin.Service throw new NotImplementedException(); } - public Task> getAllQuote() + public async Task> getAllQuote() { - throw new NotImplementedException(); + var result = new List(); + using var con = new NpgsqlConnection(connectionString); + await con.OpenAsync(); + + // Sélection des colonnes réellement présentes en DB + // + placeholders pour les autres + var sql = @" + SELECT + id_quote AS Id, + content AS Content, + likes AS ""Like"", + langue AS Langue, + -- Champs pas vraiment en DB : placeholders + '' AS Charac, + '' AS ImgPath, + '' AS TitleSrc, + now() AS DateSrc, + '' AS UserProposition + FROM quote + + "; + + using var cmd = new NpgsqlCommand(sql, con); + using var reader = await cmd.ExecuteReaderAsync(); + while (await reader.ReadAsync()) + { + var q = new Quote + { + Id = reader.GetInt32(reader.GetOrdinal("Id")), + Content = reader.GetString(reader.GetOrdinal("Content")), + Like = reader.GetInt32(reader.GetOrdinal("Like")), + Langue = reader.GetString(reader.GetOrdinal("Langue")), + // placeholders + Charac = reader.GetString(reader.GetOrdinal("Charac")), + ImgPath = reader.GetString(reader.GetOrdinal("ImgPath")), + TitleSrc = reader.GetString(reader.GetOrdinal("TitleSrc")), + DateSrc = reader.GetDateTime(reader.GetOrdinal("DateSrc")), + UserProposition = reader.GetString(reader.GetOrdinal("UserProposition")) + }; + result.Add(q); + } + + return result; } public async Task> getAllQuoteInvalid()