Refactoring, database structure changed

This commit is contained in:
2025-03-03 00:56:32 +01:00
Unverified
parent d3805ef3db
commit c603c41c0b
913 changed files with 21764 additions and 32775 deletions

View File

@@ -0,0 +1,68 @@
using Ardalis.Result;
using Microsoft.EntityFrameworkCore;
using WatchIt.Database.Model.Genders;
using WatchIt.DTO;
using WatchIt.DTO.Models.Controllers.Genders;
using WatchIt.DTO.Models.Controllers.Genders.Gender;
using WatchIt.DTO.Query;
using WatchIt.WebAPI.Repositories.Genders;
using WatchIt.WebAPI.Services.User;
namespace WatchIt.WebAPI.BusinessLogic.Genders;
public class GendersBusinessLogic : IGendersBusinessLogic
{
#region SERVICES
private readonly IUserService _userService;
private readonly IGendersRepository _gendersRepository;
#endregion
#region CONSTRUCTORS
public GendersBusinessLogic(IUserService userService, IGendersRepository gendersRepository)
{
_userService = userService;
_gendersRepository = gendersRepository;
}
#endregion
#region PUBLIC METHODS
public async Task<Result<IEnumerable<GenderResponse>>> GetGenders(GenderFilterQuery filterQuery, OrderQuery orderQuery, PagingQuery pagingQuery)
{
IEnumerable<Gender> entities = await _gendersRepository.GetAllAsync(filterQuery, orderQuery, pagingQuery);
return Result.Success(entities.Select(x => x.ToResponse()));
}
public async Task<Result<GenderResponse>> GetGender(short genderId)
{
Gender? entity = await _gendersRepository.GetAsync(genderId);
return entity switch
{
null => Result.NotFound(),
_ => Result.Success(entity.ToResponse())
};
}
public async Task<Result<GenderResponse>> PostGender(GenderRequest body)
{
Gender entity = body.ToEntity();
await _gendersRepository.AddAsync(entity);
return Result.Created(entity.ToResponse());
}
public async Task<Result> DeleteGender(short genderId)
{
await _gendersRepository.DeleteAsync(x => x.Id == genderId);
return Result.NoContent();
}
#endregion
}

View File

@@ -0,0 +1,17 @@
using Ardalis.Result;
using WatchIt.DTO.Models.Controllers.Genders.Gender;
using WatchIt.DTO.Query;
namespace WatchIt.WebAPI.BusinessLogic.Genders;
public interface IGendersBusinessLogic
{
#region PUBLIC METHODS
Task<Result<IEnumerable<GenderResponse>>> GetGenders(GenderFilterQuery filterQuery, OrderQuery orderQuery, PagingQuery pagingQuery);
Task<Result<GenderResponse>> GetGender(short genderId);
Task<Result<GenderResponse>> PostGender(GenderRequest body);
Task<Result> DeleteGender(short genderId);
#endregion
}