updating base repository
This commit is contained in:
parent
30d4491108
commit
b7878fcd6b
@ -11,19 +11,14 @@ namespace UserManager.API.Controllers
|
||||
[Route("api/[controller]")]
|
||||
public class UserController(ILogger<UserController> logger, IUserService userService, IValidator<CreateUserRequestDto> createUserValidator) : ControllerBase
|
||||
{
|
||||
private readonly ILogger<UserController> _logger = logger;
|
||||
private readonly IUserService _userService = userService;
|
||||
|
||||
private readonly IValidator<CreateUserRequestDto> _createUserValidator = createUserValidator;
|
||||
|
||||
[HttpPost(Name = "CreateUser")]
|
||||
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||||
public async Task<ActionResult<CreateUserResponseDto>> CreateUserAsync(CreateUserRequestDto request)
|
||||
{
|
||||
_logger.LogInformation("Creating user with first name {FirstName} and last name {LastName}", request.FirstName, request.LastName);
|
||||
logger.LogInformation("Creating user with first name {FirstName} and last name {LastName}", request.FirstName, request.LastName);
|
||||
|
||||
ValidationResult? validationResult = await _createUserValidator.ValidateAsync(request);
|
||||
ValidationResult? validationResult = await createUserValidator.ValidateAsync(request);
|
||||
|
||||
if (!validationResult.IsValid)
|
||||
{
|
||||
@ -31,7 +26,7 @@ namespace UserManager.API.Controllers
|
||||
}
|
||||
else
|
||||
{
|
||||
CreateUserResponseDto response = await _userService.CreateUserAsync(request);
|
||||
CreateUserResponseDto response = await userService.CreateUserAsync(request);
|
||||
return Ok(response);
|
||||
}
|
||||
}
|
||||
|
@ -3,5 +3,8 @@
|
||||
public interface IBaseRepository<TEntity> where TEntity : class
|
||||
{
|
||||
Task CreateAsync(TEntity entity);
|
||||
void Update(TEntity entity);
|
||||
void Delete(TEntity entity);
|
||||
Task DeleteAsync(object?[]? id);
|
||||
}
|
||||
}
|
||||
|
@ -5,12 +5,38 @@ namespace UserManager.Infrastructure
|
||||
{
|
||||
public class BaseRepository<TEntity>(UserManagerContext context) : IBaseRepository<TEntity> where TEntity : class
|
||||
{
|
||||
private readonly UserManagerContext _context = context;
|
||||
private readonly DbSet<TEntity> _dbSet = context.Set<TEntity>();
|
||||
|
||||
public async Task<TEntity?> GetByIdAsync(object?[]? id)
|
||||
{
|
||||
return await _dbSet.FindAsync(id);
|
||||
}
|
||||
|
||||
public async Task CreateAsync(TEntity entity)
|
||||
{
|
||||
await _dbSet.AddAsync(entity);
|
||||
}
|
||||
|
||||
public void Update(TEntity entity)
|
||||
{
|
||||
_dbSet.Attach(entity);
|
||||
context.Entry(entity).State = EntityState.Modified;
|
||||
}
|
||||
|
||||
public void Delete(TEntity entity)
|
||||
{
|
||||
_dbSet.Attach(entity);
|
||||
context.Entry(entity).State = EntityState.Deleted;
|
||||
}
|
||||
|
||||
public async Task DeleteAsync(object?[]? id)
|
||||
{
|
||||
TEntity? entity = await GetByIdAsync(id);
|
||||
|
||||
if (entity != null)
|
||||
{
|
||||
Delete(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user