using AutoMapper; 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 CoberturaPadraoRepository : GenericRepository, ICoberturaPadraoRepository, IGenericRepository { private readonly GenericUnitOfWork _unitOfWork; public CoberturaPadraoRepository(GenericUnitOfWork unitOfWork) : base(unitOfWork.Session) { this._unitOfWork = unitOfWork; } public void Delete(long id) { CoberturaPadraoDb coberturaPadraoDb = base.FindEntityById(id); if (coberturaPadraoDb == null) { return; } base.Delete(coberturaPadraoDb); } public List Find() { List list = base.All().ToList(); return ApplicationMapper.Mapper.Map, List>(list); } public CoberturaPadrao FindById(long id) { CoberturaPadraoDb coberturaPadraoDb = base.FindEntityById(id); return ApplicationMapper.Mapper.Map(coberturaPadraoDb); } public List FindByRamoId(long id) { List list = ( from x in base.All() where x.IdRamo == id select x).ToList(); return ApplicationMapper.Mapper.Map, List>(list); } public CoberturaPadrao Merge(CoberturaPadrao coberturaPadrao) { CoberturaPadraoDb coberturaPadraoDb = ApplicationMapper.Mapper.Map(coberturaPadrao); base.Merge(coberturaPadraoDb); return ApplicationMapper.Mapper.Map(coberturaPadraoDb); } public CoberturaPadrao SaveOrUpdate(CoberturaPadrao coberturaPadrao) { CoberturaPadraoDb coberturaPadraoDb = ApplicationMapper.Mapper.Map(coberturaPadrao); this.SaveOrUpdate(coberturaPadraoDb); return ApplicationMapper.Mapper.Map(coberturaPadraoDb); } } }