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.Linq; using System.Linq.Expressions; using System.Runtime.CompilerServices; namespace Gestor.Infrastructure.Repository.Logic { public class PerfilEmpresaRepository : GenericRepository, IPerfilEmpresaRepository, IGenericRepository { private readonly GenericUnitOfWork _unitOfWork; public PerfilEmpresaRepository(GenericUnitOfWork unitOfWork) : base(unitOfWork.Session) { this._unitOfWork = unitOfWork; } public void Delete(long id) { PerfilEmpresaDb perfilEmpresaDb = base.FindEntityById(id); if (perfilEmpresaDb == null) { return; } base.Delete(perfilEmpresaDb); } public PerfilEmpresa Find(long id) { PerfilEmpresaDb perfilEmpresaDb = base.All().FirstOrDefault((PerfilEmpresaDb x) => x.Id == id); return ApplicationMapper.Mapper.Map(perfilEmpresaDb); } public PerfilEmpresa FindByControleId(long id) { PerfilEmpresaDb perfilEmpresaDb = ( from x in base.All() where x.Controle.Id == id select x).FirstOrDefault(); return ApplicationMapper.Mapper.Map(perfilEmpresaDb); } public PerfilEmpresa Merge(PerfilEmpresa perfil) { PerfilEmpresaDb perfilEmpresaDb = ApplicationMapper.Mapper.Map(perfil); base.Merge(perfilEmpresaDb); return ApplicationMapper.Mapper.Map(perfilEmpresaDb); } public PerfilEmpresa SaveOrUpdate(PerfilEmpresa perfilEmpresa) { PerfilEmpresaDb perfilEmpresaDb = ApplicationMapper.Mapper.Map(perfilEmpresa); this.SaveOrUpdate(perfilEmpresaDb); return ApplicationMapper.Mapper.Map(perfilEmpresaDb); } } }