From 1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 Mon Sep 17 00:00:00 2001 From: Lucas Faria Mendes Date: Mon, 30 Mar 2026 10:38:18 -0300 Subject: chore: location --- .../VendedorUsuarioRepository.cs | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 Codemerx/Gestor.Infrastructure/Gestor.Infrastructure.Repository.Logic/VendedorUsuarioRepository.cs (limited to 'Codemerx/Gestor.Infrastructure/Gestor.Infrastructure.Repository.Logic/VendedorUsuarioRepository.cs') diff --git a/Codemerx/Gestor.Infrastructure/Gestor.Infrastructure.Repository.Logic/VendedorUsuarioRepository.cs b/Codemerx/Gestor.Infrastructure/Gestor.Infrastructure.Repository.Logic/VendedorUsuarioRepository.cs new file mode 100644 index 0000000..49c552f --- /dev/null +++ b/Codemerx/Gestor.Infrastructure/Gestor.Infrastructure.Repository.Logic/VendedorUsuarioRepository.cs @@ -0,0 +1,94 @@ +using AutoMapper; +using Gestor.Infrastructure.Entities.Generic; +using Gestor.Infrastructure.Entities.Seguros; +using Gestor.Infrastructure.Mappers; +using Gestor.Infrastructure.Repository.Generic; +using Gestor.Infrastructure.Repository.Interface; +using Gestor.Infrastructure.UnitOfWork.Generic; +using Gestor.Model.Domain.Seguros; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Runtime.CompilerServices; + +namespace Gestor.Infrastructure.Repository.Logic +{ + public class VendedorUsuarioRepository : GenericRepository, IVendedorUsuarioRepository, IGenericRepository + { + private readonly GenericUnitOfWork _unitOfWork; + + public VendedorUsuarioRepository(GenericUnitOfWork unitOfWork) : base(unitOfWork.Session) + { + this._unitOfWork = unitOfWork; + } + + public void Delete(long id) + { + base.Delete(base.FindEntityById(id)); + } + + public bool Exist(long id) + { + return base.All().Any((VendedorUsuarioDb v) => v.Vendedor.Id == id); + } + + public bool ExistVinculoUsuario(long idUsuario) + { + return base.All().Any((VendedorUsuarioDb v) => v.Usuario.Id == idUsuario); + } + + public VendedorUsuario FindById(long id) + { + VendedorUsuarioDb vendedorUsuarioDb = base.FindEntityById(id); + return ApplicationMapper.Mapper.Map(vendedorUsuarioDb); + } + + public IList FindByUsuario(long idUsuario) + { + List list = ( + from x in base.All() + where x.Usuario.Id == idUsuario + select x).ToList(); + List vendedors = new List(); + list.ForEach((VendedorUsuarioDb vu) => vendedors.Add((new VendedorRepository(this._unitOfWork)).FindById(vu.Vendedor.Id))); + return vendedors; + } + + public List FindByVinculo(long idUsuario) + { + return ( + from x in base.All() + where x.Usuario.Id == idUsuario + select x into u + select new VendedorUsuario() + { + Id = u.Id, + Usuario = new Usuario() + { + Id = u.Usuario.Id, + Nome = u.Usuario.Nome + }, + Vendedor = new Vendedor() + { + Id = u.Vendedor.Id, + Nome = u.Vendedor.Nome + } + }).ToList(); + } + + public VendedorUsuario Merge(VendedorUsuario vendedorUsuario) + { + VendedorUsuarioDb vendedorUsuarioDb = ApplicationMapper.Mapper.Map(vendedorUsuario); + base.Merge(vendedorUsuarioDb); + return ApplicationMapper.Mapper.Map(vendedorUsuarioDb); + } + + public VendedorUsuario SaveOrUpdate(VendedorUsuario vendedorUsuario) + { + VendedorUsuarioDb vendedorUsuarioDb = ApplicationMapper.Mapper.Map(vendedorUsuario); + this.SaveOrUpdate(vendedorUsuarioDb); + return ApplicationMapper.Mapper.Map(vendedorUsuarioDb); + } + } +} \ No newline at end of file -- cgit v1.2.3