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 RiscosDiversosRepository : GenericRepository, IRiscosDiversosRepository, IGenericRepository { private readonly GenericUnitOfWork _unitOfWork; public RiscosDiversosRepository(GenericUnitOfWork unitOfWork) : base(unitOfWork.Session) { this._unitOfWork = unitOfWork; } public void Delete(long id) { base.Delete(base.FindEntityById(id)); } public void DeleteRange(List ids) { List list = ( from x in base.All() where ids.Contains(x.Item.Id) select x).ToList(); base.DeleteRange(list); } public RiscosDiversos Find(long id) { RiscosDiversosDb riscosDiversosDb = base.All().FirstOrDefault((RiscosDiversosDb x) => x.Item.Id == id) ?? new RiscosDiversosDb(); return ApplicationMapper.Mapper.Map(riscosDiversosDb); } public RiscosDiversos FindById(long id) { RiscosDiversosDb riscosDiversosDb = base.FindEntityById(id); return ApplicationMapper.Mapper.Map(riscosDiversosDb); } public RiscosDiversos Merge(RiscosDiversos risco) { RiscosDiversosDb riscosDiversosDb = ApplicationMapper.Mapper.Map(risco); base.Merge(riscosDiversosDb); return ApplicationMapper.Mapper.Map(riscosDiversosDb); } public RiscosDiversos SaveOrUpdate(RiscosDiversos risco) { RiscosDiversosDb riscosDiversosDb = ApplicationMapper.Mapper.Map(risco); this.SaveOrUpdate(riscosDiversosDb); return ApplicationMapper.Mapper.Map(riscosDiversosDb); } } }