using AutoMapper; using Gestor.Infrastructure.Entities.Ferramentas; using Gestor.Infrastructure.Entities.Generic; using Gestor.Infrastructure.Mappers; using Gestor.Infrastructure.Repository.Generic; using Gestor.Infrastructure.Repository.Interface; using Gestor.Infrastructure.UnitOfWork.Generic; using Gestor.Model.Domain.Ferramentas; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Runtime.CompilerServices; namespace Gestor.Infrastructure.Repository.Logic { public class ReciboRepository : GenericRepository, IReciboRepository, IGenericRepository { private readonly GenericUnitOfWork _unitOfWork; public ReciboRepository(GenericUnitOfWork unitOfWork) : base(unitOfWork.Session) { this._unitOfWork = unitOfWork; } public List BuscarRecibos() { List list = base.All().ToList(); return ApplicationMapper.Mapper.Map, List>(list); } public void Delete(long id) { ReciboDb reciboDb = base.FindEntityById(id); if (reciboDb == null) { return; } base.Delete(reciboDb); } public void DeleteRange(List ids) { List list = ( from x in base.All() where ids.Contains(x.Id) select x).ToList(); base.DeleteRange(list); } public Recibo FindById(long id) { ReciboDb reciboDb = base.FindEntityById(id); return ApplicationMapper.Mapper.Map(reciboDb); } public Recibo Merge(Recibo recibo) { ReciboDb reciboDb = ApplicationMapper.Mapper.Map(recibo); base.Merge(reciboDb); return ApplicationMapper.Mapper.Map(reciboDb); } public Recibo SaveOrUpdate(Recibo recibo) { ReciboDb reciboDb = ApplicationMapper.Mapper.Map(recibo); this.SaveOrUpdate(reciboDb); return ApplicationMapper.Mapper.Map(reciboDb); } } }