using AutoMapper; using Gestor.Infrastructure.Entities.Relatorios; using Gestor.Infrastructure.Mappers; using Gestor.Infrastructure.Repository.Generic; using Gestor.Infrastructure.Repository.Interface; using Gestor.Infrastructure.UnitOfWork.Generic; using Gestor.Model.Common; using Gestor.Model.Domain.Relatorios; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Runtime.CompilerServices; namespace Gestor.Infrastructure.Repository.Logic { public class ParametrosTotalizacaoRepository : GenericRepository, IParametrosTotalizacaoRepository, IGenericRepository { private readonly GenericUnitOfWork _unitOfWork; public ParametrosTotalizacaoRepository(GenericUnitOfWork unitOfWork) : base(unitOfWork.Session) { this._unitOfWork = unitOfWork; } public void Delete(long id) { ParametrosTotalizacaoDb parametrosTotalizacaoDb = base.FindEntityById(id); if (parametrosTotalizacaoDb == null) { return; } base.Delete(parametrosTotalizacaoDb); } public List Find(long id, Relatorio relatorio) { List list = ( from x in base.All() where x.IdUsuario == id && (int)x.Relatorio == (int)relatorio && x.Header != "AGRUPAMENTO" select x).ToList(); return ApplicationMapper.Mapper.Map, List>(list); } public ParametrosTotalizacao Merge(ParametrosTotalizacao parametrosTotalizacao) { ParametrosTotalizacaoDb parametrosTotalizacaoDb = ApplicationMapper.Mapper.Map(parametrosTotalizacao); base.Merge(parametrosTotalizacaoDb); return ApplicationMapper.Mapper.Map(parametrosTotalizacaoDb); } public ParametrosTotalizacao SaveOrUpdate(ParametrosTotalizacao parametrosTotalizacao) { ParametrosTotalizacaoDb parametrosTotalizacaoDb = ApplicationMapper.Mapper.Map(parametrosTotalizacao); this.SaveOrUpdate(parametrosTotalizacaoDb); return ApplicationMapper.Mapper.Map(parametrosTotalizacaoDb); } } }