public IQueryable <InformeRendimentoDTO> Execute(InformeFiltro filtro) { var consulta = from p in _db.Processamentos where p.DataRegistro >= filtro.DataInicio && p.DataRegistro <= filtro.DataFinal orderby p.Id select new InformeRendimentoDTO() { Codigo = p.Id, Ano = p.AnoExercicio, Data = p.DataRegistro, Descricao = p.Descricao, IdSituacao = p.SituacaoProcessamento, Contribuinte = new ContribuinteDTO() { IdTipo = p.Contribuintes.FirstOrDefault().TipoContribuinteId } }; if (filtro.AnoExercicio > 0) { consulta = consulta.Where(c => c.Ano == filtro.AnoExercicio); } if (filtro.TipoContribuinte != TipoContribuinte.Todos) { consulta = consulta.Where(c => c.Contribuinte.IdTipo == (short)filtro.TipoContribuinte); } return(consulta); }
public static InformeFiltro Converter(ConsultaInformeVM vm) { var filtro = new InformeFiltro() { DataInicio = vm.DataInicio, DataFinal = vm.DataFinal.AddSeconds(86399), AnoExercicio = vm.AnoExercicio, TipoContribuinte = vm.TipoContribuinte }; return(filtro); }