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 StatusProspeccaoRepository : GenericRepository, IStatusProspeccaoRepository, IGenericRepository { private readonly GenericUnitOfWork _unitOfWork; public StatusProspeccaoRepository(GenericUnitOfWork unitOfWork) : base(unitOfWork.Session) { this._unitOfWork = unitOfWork; } public List FindAll() { return ( from x in base.All() select new StatusDeProspeccao() { Id = x.Id, Nome = x.Nome, Descricao = x.Descricao, Ativo = x.Ativo, Excluido = x.Excluido }).ToList(); } public StatusDeProspeccao Merge(StatusDeProspeccao statusProspeccao) { StatusDeProspeccaoDb statusDeProspeccaoDb = ApplicationMapper.Mapper.Map(statusProspeccao); base.Merge(statusDeProspeccaoDb); return ApplicationMapper.Mapper.Map(statusDeProspeccaoDb); } public StatusDeProspeccao SaveOrUpdate(StatusDeProspeccao statusProspeccao) { StatusDeProspeccaoDb statusDeProspeccaoDb = ApplicationMapper.Mapper.Map(statusProspeccao); this.SaveOrUpdate(statusDeProspeccaoDb); return ApplicationMapper.Mapper.Map(statusDeProspeccaoDb); } } }