From 517c7adc4b99732508a68c9c2ca6213596dc3d08 Mon Sep 17 00:00:00 2001 From: Damien NORTIER Date: Mon, 4 Mar 2024 12:09:50 +0100 Subject: [PATCH] =?UTF-8?q?cr=C3=A9ation=20du=20data=20manager=20des=20adm?= =?UTF-8?q?inistrateurs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataManagers/AdministratorDataManager.cs | 60 +++++++++++++++++++ WebApi/DataManagers/DataManagers.csproj | 16 +++++ WebApi/WebApi.sln | 8 ++- 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 WebApi/DataManagers/AdministratorDataManager.cs create mode 100644 WebApi/DataManagers/DataManagers.csproj diff --git a/WebApi/DataManagers/AdministratorDataManager.cs b/WebApi/DataManagers/AdministratorDataManager.cs new file mode 100644 index 0000000..40254b1 --- /dev/null +++ b/WebApi/DataManagers/AdministratorDataManager.cs @@ -0,0 +1,60 @@ +using DbConnectionLibrairie; +using EntityManagers; +using ExtensionsClassLibrairie; +using ManagerInterfaces; +using Model; +using OrderCriterias; + +namespace DataManagers +{ + public class AdministratorDataManager(MyDbContext dbContext) : IAdministratorManager + { + + private AdministratorEntityManager manager = new AdministratorEntityManager(dbContext); + + public async Task addAdmin(Administrator admin) + { + return await Task.FromResult((await manager.addAdmin(admin.ToEntity())).ToModel()); + } + + public async Task getAdministratorByUsername(string username) + { + return await Task.FromResult((await manager.getAdministratorByUsername(username))?.ToModel()); + } + + public async Task<(int nbPages, IEnumerable? administrators)> getAdministrators(int nb, int count, AdministratorOrderCriteria orderCriteria = AdministratorOrderCriteria.ById) + { + List? tmp = new List(); + var res = await manager.getAdministrators(nb, count, orderCriteria); + if (res.administrators == null) tmp = null; + else + { + foreach (var item in res.administrators) + { + tmp.Add(item.ToModel()); + } + } + return await Task.FromResult<(int nbPages, IEnumerable? administrators)>((res.nbPages, tmp)); + } + + public int getNbElements() + { + return manager.getNbElements(); + } + + public async Task removeAdmin(Administrator admin) + { + return (await manager.removeAdmin(admin.ToEntity()))?.ToModel(); + } + + public async Task removeAdmin(int id) + { + return (await manager.removeAdmin(id))?.ToModel(); + } + + public async Task setPassword(string username, string newHashedPassword) + { + return await manager.setPassword(username, newHashedPassword); + } + } +} diff --git a/WebApi/DataManagers/DataManagers.csproj b/WebApi/DataManagers/DataManagers.csproj new file mode 100644 index 0000000..76cd6fc --- /dev/null +++ b/WebApi/DataManagers/DataManagers.csproj @@ -0,0 +1,16 @@ + + + + net8.0 + enable + enable + + + + + + + + + + diff --git a/WebApi/WebApi.sln b/WebApi/WebApi.sln index 0833a07..2d8a8d3 100644 --- a/WebApi/WebApi.sln +++ b/WebApi/WebApi.sln @@ -24,7 +24,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "FakeDatas", "FakeDatas", "{ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Model", "Model\Model.csproj", "{95E60A3C-AB3C-4B8F-BAA2-EEB899E12CE7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExtensionsClassLibrairie", "ExtensionsClassLibrairie\ExtensionsClassLibrairie.csproj", "{66AAAC2F-10B0-4F29-971C-3548EB34B621}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ExtensionsClassLibrairie", "ExtensionsClassLibrairie\ExtensionsClassLibrairie.csproj", "{66AAAC2F-10B0-4F29-971C-3548EB34B621}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DataManagers", "DataManagers\DataManagers.csproj", "{C609569C-353E-4F1A-BDEE-7C686FBDA084}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -68,6 +70,10 @@ Global {66AAAC2F-10B0-4F29-971C-3548EB34B621}.Debug|Any CPU.Build.0 = Debug|Any CPU {66AAAC2F-10B0-4F29-971C-3548EB34B621}.Release|Any CPU.ActiveCfg = Release|Any CPU {66AAAC2F-10B0-4F29-971C-3548EB34B621}.Release|Any CPU.Build.0 = Release|Any CPU + {C609569C-353E-4F1A-BDEE-7C686FBDA084}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C609569C-353E-4F1A-BDEE-7C686FBDA084}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C609569C-353E-4F1A-BDEE-7C686FBDA084}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C609569C-353E-4F1A-BDEE-7C686FBDA084}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE