ldap-cesi/ldap-cesi/Services/SiteService.cs
2025-03-08 18:33:08 +01:00

152 lines
4.8 KiB
C#

using AutoMapper;
using ldap_cesi.DTOs;
using ldap_cesi.DTOs.Inputs.Site;
using ldap_cesi.Entities;
using ldap_cesi.Models;
using ldap_cesi.Repository.Services;
using ldap_cesi.Services.Interfaces;
using ldap_cesi.Validator.Site;
namespace ldap_cesi.Services;
public class SiteService : ServiceBase<Site, SiteDto, SiteCreateDto, SiteUpdateDto>, ISiteService
{
private readonly IRepositorySite _repositorySite;
public SiteService(IRepositorySite repositorySite, IMapper mapper,
ILogger<SiteService> logger, SiteCreateValidator siteCreateValidator, SiteUpdateValidator siteUpdateValidator)
: base(repositorySite, mapper, logger, siteCreateValidator, siteUpdateValidator )
{
_repositorySite = repositorySite;
}
// public async Task<IResponseDataModel<List<Site>>> GetAll()
// {
// var sites = await _repositorySite.GetAllAsync();
// return new ResponseDataModel<List<Site>>
// {
// Success = true,
// Data = sites,
// StatusCode = 200,
// };
// }
//
// public async Task<IResponseDataModel<Site>> GetById(int id)
// {
// var site = await _repositorySite.GetByIdAsync(id);
// return new ResponseDataModel<Site>
// {
// Success = true,
// Data = site,
// StatusCode = 200,
// };
}
// public async Task<IResponseDataModel<string>> CreateSite(SiteCreateDto siteCreateDto)
// {
// var validation = new SiteCreateValidator();
// var result = validation.Validate(siteCreateDto);
// if (!result.IsValid)
// {
// return new ResponseDataModel<string>
// {
// StatusCode = 400,
// Success = false,
// Message = "Données du site invalides: " + string.Join(", ", result.Errors)
// };
// }
// var site = _mapper.Map<Site>(siteCreateDto);
// var response = await _repositorySite.AddAsync(site);
// return new ResponseDataModel<string>
// {
// StatusCode = 201,
// Success = true,
// Data = response.Id.ToString(),
// };
// }
//
// public async Task<IResponseDataModel<Site>> UpdateSite(SiteUpdateDto siteUpdate)
// {
// var validation = new SiteUpdateValidator();
// var result = validation.Validate(siteUpdate);
// if (!result.IsValid)
// {
// return new ResponseDataModel<Site>
// {
// StatusCode = 400,
// Success = false,
// Message = "Données du site invalides: " + string.Join(", ", result.Errors)
// };
// }
//
// var siteFind = await _repositorySite.GetByIdAsync(siteUpdate.Id);
// if (siteFind is null)
// {
// return new ResponseDataModel<Site>
// {
// Success = false,
// Message = "Site introuvable.",
// StatusCode = 404
// };
// }
//
// var site = _mapper.Map(siteUpdate, siteFind);
// var response = await _repositorySite.UpdateAsync(site);
// if (!response)
// {
// return new ResponseDataModel<Site>
// {
// StatusCode = 500,
// Success = false,
// Message = "Erreur lors de la mise à jour du site : " + string.Join(", ", result.Errors)
// };
// }
// return new ResponseDataModel<Site>
// {
// StatusCode = 200,
// Success = true,
// Data = site,
// };
// }
//
// public async Task<IResponseDataModel<string>> DeleteSite(int id)
// {
// if (id == null)
// {
// return new ResponseDataModel<string>
// {
// StatusCode = 400,
// Success = false,
// Message = "Id manquant"
// };
// }
//
// var site = await _repositorySite.GetByIdAsync(id);
// if (site == null)
// {
// return new ResponseDataModel<string>
// {
// Success = false,
// Message = "Site introuvable.",
// StatusCode = 404
// };
// }
// var response = await _repositorySite.DeleteAsync(site);
// if (!response)
// {
// return new ResponseDataModel<string>
// {
// StatusCode = 500,
// Success = false,
// Message = "Erreur durant la suppression du site"
// };
// }
// return new ResponseDataModel<string>
// {
// StatusCode = 200,
// Success = true,
// Data = site.Id.ToString(),
// };
// }