Merge branch 'Merge_API_EF' of https://codefirst.iut.uca.fr/git/WhatTheFantasy/WF-PmAPI into Merge_API_EF

pull/6/head
kekentin 3 weeks ago
commit 63f7da729a

@ -75,9 +75,9 @@ namespace Contextlib
l => l.HasOne<Question>().WithMany().HasForeignKey(q => q.IdQuestion),
r => r.HasOne<Quiz>().WithMany().HasForeignKey(u => u.IdQuiz)
);
modelBuilder.Entity<Admin>()
.HasOne(a => a.User)
.WithOne(u => u.admin);
//modelBuilder.Entity<Admin>()
// .HasOne(a => a.User)
// .WithOne(u => u.admin);
}
public WTFContext()

@ -159,6 +159,16 @@ namespace Dto2Entities
return user;
}
public static List<UserDTO> ToDto(this List<Users> users)
{
List<UserDTO> userDTOs = new List<UserDTO>();
foreach (Users user in users)
{
userDTOs.Add(ToDto(user));
}
return userDTOs;
}
public static TypeLangageDTO ToDto(this LangEnum item)
{
switch (item)

@ -40,8 +40,8 @@ namespace Entity
public ICollection<Quote> Favorite { get; set; } = new List<Quote>();
[ForeignKey(nameof(Admin))]
public int Idadmin { get; set; }
public Admin admin { get; set; }
//[ForeignKey(nameof(Admin))]
//public int Idadmin { get; set; }
//public Admin admin { get; set; }
}
}

@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Contextlib\Contextlib.csproj" />
<ProjectReference Include="..\Dto2Entities\Dto2Entities.csproj" />
<ProjectReference Include="..\DTO\DTO.csproj" />
<ProjectReference Include="..\Shared\Shared.csproj" />
</ItemGroup>
</Project>

@ -0,0 +1,94 @@
using Shared;
using DTO;
using Contextlib;
using Entity;
using System.Xml.XPath;
using Dto2Entities;
namespace ServicesApi
{
public class UserService : IUserService<UserDTO>
{
private IUserService<Users> userService;
public UserService(IUserService<Users> user)
{
userService = user;
}
public async Task AddUser(UserDTO user)
{
await userService.AddUser(user.ToEntity());
}
public async Task<int> CountUser()
{
return await userService.CountUser();
}
public async Task<bool> ExistEmail(string email)
{
return await userService.ExistEmail(email);
}
public async Task<bool> ExistUsername(string username)
{
return await userService.ExistUsername(username);
}
public async Task<PaginationResult<UserDTO>> GetAllUser()
{
var users = userService.GetAllUser().Result.items;
return new PaginationResult<UserDTO>(users.Count(), 0, 10, users.ToDto());
}
public async Task<string> GetHashPassword(string username)
{
return await userService.GetHashPassword(username);
}
public async Task<int> GetLastUserId()
{
return await userService.GetLastUserId();
}
public async Task<PaginationResult<UserDTO>> GetSomeUser(int index, int pageSize)
{
var users = userService.GetSomeUser(index, pageSize).Result.items;
return new PaginationResult<UserDTO>(users.Count(),index, pageSize, users.ToDto());
}
public async Task<UserDTO> GetUserByEmail(string email)
{
return userService.GetUserByEmail(email).Result.ToDto();
}
public async Task<UserDTO> GetUserById(int id)
{
return userService.GetUserById(id).Result.ToDto();
}
public async Task<UserDTO> GetUserByUsername(string username)
{
return userService.GetUserByUsername(username).Result.ToDto();
}
public async Task RemoveUser(UserDTO user)
{
await userService.RemoveUser(user.ToEntity());
}
public async Task SetAdminRole(bool isAdmin)
{
await userService.SetAdminRole(isAdmin);
}
public async Task<UserDTO> UpdateUser(int userId, UserDTO user)
{
await userService.UpdateUser(userId, user.ToEntity());
throw new NotImplementedException();
}
}
}

@ -8,11 +8,11 @@ using System.Threading.Tasks;
namespace StubApi
{
public class QuoteService : IQuoteService<QuoteDTO>
public class QuoteServiceStub : IQuoteService<QuoteDTO>
{
private readonly List<QuoteDTO> _quotes;
public QuoteService()
public QuoteServiceStub()
{
_quotes = new List<QuoteDTO>
{

@ -2,11 +2,11 @@
using DTO;
namespace StubApi
{
public class UserService : IUserService<UserDTO>
public class UserServiceStub : IUserService<UserDTO>
{
private readonly List<UserDTO> _users;
public UserService()
public UserServiceStub()
{
_users = new List<UserDTO>
{

@ -1,4 +1,3 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34723.18
@ -25,6 +24,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DTO", "DTO\DTO.csproj", "{9
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dto2Entities", "Dto2Entities\Dto2Entities.csproj", "{08194729-E222-4C9A-B860-D944225B8895}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServicesApi", "ServicesApi\ServicesApi.csproj", "{6A9AC3D2-C1CD-450A-BD3C-22FAFC9B5328}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -55,10 +56,6 @@ Global
{2CF20FAC-C2F1-4048-9D46-F39081B0FBEF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2CF20FAC-C2F1-4048-9D46-F39081B0FBEF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2CF20FAC-C2F1-4048-9D46-F39081B0FBEF}.Release|Any CPU.Build.0 = Release|Any CPU
{4A1CBA3D-C798-4E19-865F-39F919F1205A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4A1CBA3D-C798-4E19-865F-39F919F1205A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4A1CBA3D-C798-4E19-865F-39F919F1205A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4A1CBA3D-C798-4E19-865F-39F919F1205A}.Release|Any CPU.Build.0 = Release|Any CPU
{48002CA2-7CFF-4077-90CF-392476320CE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{48002CA2-7CFF-4077-90CF-392476320CE3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{48002CA2-7CFF-4077-90CF-392476320CE3}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -79,6 +76,10 @@ Global
{08194729-E222-4C9A-B860-D944225B8895}.Debug|Any CPU.Build.0 = Debug|Any CPU
{08194729-E222-4C9A-B860-D944225B8895}.Release|Any CPU.ActiveCfg = Release|Any CPU
{08194729-E222-4C9A-B860-D944225B8895}.Release|Any CPU.Build.0 = Release|Any CPU
{6A9AC3D2-C1CD-450A-BD3C-22FAFC9B5328}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6A9AC3D2-C1CD-450A-BD3C-22FAFC9B5328}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A9AC3D2-C1CD-450A-BD3C-22FAFC9B5328}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6A9AC3D2-C1CD-450A-BD3C-22FAFC9B5328}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

@ -1,11 +1,19 @@
using DTO;
using Shared;
using StubApi;
using Contextlib;
using Entity;
using StubbedContextLib;
using ServicesApi;
var builder = WebApplication.CreateBuilder(args);
//API
builder.Services.AddScoped<IUserService<UserDTO>, UserService>();
builder.Services.AddScoped<IQuoteService<QuoteDTO>, QuoteService>();
builder.Services.AddScoped<IQuoteService<QuoteDTO>, QuoteServiceStub>();
//EF
builder.Services.AddScoped<WTFContext, StubWTFContext>();
builder.Services.AddScoped<IUserService<Users>, DbUsersManager>();
// Add services to the container.
builder.Services.AddControllers();

@ -17,9 +17,13 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Contextlib\Contextlib.csproj" />
<ProjectReference Include="..\DTO\DTO.csproj" />
<ProjectReference Include="..\Entity\Entity.csproj" />
<ProjectReference Include="..\ServicesApi\ServicesApi.csproj" />
<ProjectReference Include="..\Shared\Shared.csproj" />
<ProjectReference Include="..\StubApi\StubApi.csproj" />
<ProjectReference Include="..\StubbedContextLib\StubbedContextLib.csproj" />
</ItemGroup>
</Project>

Loading…
Cancel
Save