Beispiel #1
0
        public IQueryable <ProcessamentoDTO> Execute(ProcessamentoFiltro filtro)
        {
            var consulta =
                _db.Contribuintes.Where(c => c.Processamentos.Any(p => p.AnoExercicio == filtro.AnoExercicio) && c.TipoContribuinteId == (short)filtro.TipoContribuinte)
                .Select(pr => new ProcessamentoDTO()
            {
                Id = pr.Processamentos.FirstOrDefault(p => p.AnoExercicio == filtro.AnoExercicio).Id,
                TipoContribuinte = (TipoContribuinte)pr.TipoContribuinteId
            });

            if (consulta.FirstOrDefault() != null)
            {
                return(consulta);
            }

            var query =
                _db.Processamentos.Where(p => (p.AnoExercicio == filtro.AnoExercicio && p.Contribuintes.Count == 0))
                .Select(pr => new ProcessamentoDTO()
            {
                Id = pr.Id,
                TipoContribuinte = null
            });

            return(query);
        }
Beispiel #2
0
        public static ProcessamentoFiltro Converter(int anoExercicio, TipoContribuinte tipo)
        {
            var filtro = new ProcessamentoFiltro()
            {
                AnoExercicio     = anoExercicio,
                TipoContribuinte = tipo
            };

            return(filtro);
        }