using AutoMapper; using Gestor.Infrastructure.Entities.Configuracoes; 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.Configuracoes; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Runtime.CompilerServices; namespace Gestor.Infrastructure.Repository.Logic { public class ConfiguracaoRepository : GenericRepository, IConfiguracaoRepository, IGenericRepository { private readonly GenericUnitOfWork _unitOfWork; public ConfiguracaoRepository(GenericUnitOfWork unitOfWork) : base(unitOfWork.Session) { this._unitOfWork = unitOfWork; } public List BuscarConfiguracoes() { return ApplicationMapper.Mapper.Map, List>(base.All().ToList()); } public void Delete(long id) { ConfiguracaoSistemaDb configuracaoSistemaDb = base.FindEntityById(id); if (configuracaoSistemaDb == null) { return; } base.Delete(configuracaoSistemaDb); } public ConfiguracaoSistema Find(Configuracao configuracao) { ConfiguracaoSistemaDb configuracaoSistemaDb = base.All().FirstOrDefault((ConfiguracaoSistemaDb x) => (int)x.Configuracao == (int)configuracao); return ApplicationMapper.Mapper.Map(configuracaoSistemaDb); } public ConfiguracaoSistema Merge(ConfiguracaoSistema configuracao) { ConfiguracaoSistemaDb configuracaoSistemaDb = ApplicationMapper.Mapper.Map(configuracao); base.Merge(configuracaoSistemaDb); return ApplicationMapper.Mapper.Map(configuracaoSistemaDb); } public ConfiguracaoSistema SaveOrUpdate(ConfiguracaoSistema configuracao) { ConfiguracaoSistemaDb configuracaoSistemaDb = ApplicationMapper.Mapper.Map(configuracao); this.SaveOrUpdate(configuracaoSistemaDb); return ApplicationMapper.Mapper.Map(configuracaoSistemaDb); } } }