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 ExpedicaoRepository : GenericRepository, IExpedicaoRepository, IGenericRepository { private readonly GenericUnitOfWork _unitOfWork; public ExpedicaoRepository(GenericUnitOfWork unitOfWork) : base(unitOfWork.Session) { this._unitOfWork = unitOfWork; } public void Delete(long id) { base.Delete(base.FindEntityById(id)); } public List FindByIdDocumento(long IdDocumento) { List list = ( from x in base.All() where x.Apolice.Id == IdDocumento orderby x.DataEnvio descending select x).ToList(); return ApplicationMapper.Mapper.Map, List>(list); } public Expedicao Merge(Expedicao expedicao) { ExpedicaoDb expedicaoDb = ApplicationMapper.Mapper.Map(expedicao); base.Merge(expedicaoDb); return ApplicationMapper.Mapper.Map(expedicaoDb); } public Expedicao SaveOrUpdate(Expedicao expedicao) { ExpedicaoDb expedicaoDb = ApplicationMapper.Mapper.Map(expedicao); this.SaveOrUpdate(expedicaoDb); return ApplicationMapper.Mapper.Map(expedicaoDb); } } }