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.Common; using Gestor.Model.Domain.Seguros; using NHibernate; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Runtime.CompilerServices; namespace Gestor.Infrastructure.Repository.Logic { public class PermissaoArquivoDigitalRepository : GenericRepository, IPermissaoArquivoDigitalRepository { private readonly GenericUnitOfWork _unitOfWork; public PermissaoArquivoDigitalRepository(GenericUnitOfWork unitOfWork) : base(unitOfWork.Session) { this._unitOfWork = unitOfWork; } public PermissaoArquivoDigital FindByPermissao(long id, TipoArquivoDigital tela) { PermissaoArquivoDigitalDb permissaoArquivoDigitalDb = base.All().FirstOrDefault((PermissaoArquivoDigitalDb x) => x.Usuario.Id == id && (int)x.Tela == (int)tela); return ApplicationMapper.Mapper.Map(permissaoArquivoDigitalDb); } public List FindByUsuario(long id) { List list = this._unitOfWork.Session.CreateQuery(string.Format("from PermissaoArquivoDigitalDb WHERE IdUsuario = {0}", id)).List().ToList(); return ApplicationMapper.Mapper.Map, List>(list); } public PermissaoArquivoDigital Merge(PermissaoArquivoDigital permissao) { PermissaoArquivoDigitalDb permissaoArquivoDigitalDb = ApplicationMapper.Mapper.Map(permissao); base.Merge(permissaoArquivoDigitalDb); return ApplicationMapper.Mapper.Map(permissaoArquivoDigitalDb); } public PermissaoArquivoDigital SaveOrUpdate(PermissaoArquivoDigital permissao) { PermissaoArquivoDigitalDb permissaoArquivoDigitalDb = ApplicationMapper.Mapper.Map(permissao); this.SaveOrUpdate(permissaoArquivoDigitalDb); return ApplicationMapper.Mapper.Map(permissaoArquivoDigitalDb); } } }