You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.8 KiB
101 lines
2.8 KiB
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)
|
|
{
|
|
try
|
|
{
|
|
return (await userService.GetUserById(id)).ToDto();
|
|
}
|
|
catch(KeyNotFoundException e)
|
|
{
|
|
throw new KeyNotFoundException(e.Message);
|
|
}
|
|
}
|
|
|
|
public async Task<UserDTO> GetUserByUsername(string username)
|
|
{
|
|
return userService.GetUserByUsername(username).Result.ToDto();
|
|
}
|
|
|
|
public async Task RemoveUser(int id)
|
|
{
|
|
await userService.RemoveUser(id);
|
|
}
|
|
|
|
public async Task SetAdminRole(bool isAdmin)
|
|
{
|
|
await userService.SetAdminRole(isAdmin);
|
|
}
|
|
|
|
public async Task<UserDTO> UpdateUser(int userId, UserDTO user)
|
|
{
|
|
return userService.UpdateUser(userId, user.ToEntity()).Result.ToDto();
|
|
}
|
|
}
|
|
}
|