public ActionResult Index(PesquisaAgendamentoModel model, int idSituacao)
        {
            try
            {
                if (idSituacao == 0)
                {
                    model.Situacao = Situacao.Todos;
                }
                else if (idSituacao == 1)
                {
                    model.Situacao = Situacao.Pagos;
                }
                else
                {
                    model.Situacao = Situacao.EmAberto;
                }
                var service = new PesquisaService();
                model.Parcelas = service.Pesquisar(model);

                return View(model);
            }
            catch (Exception ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);
                return View(model);
            }
        }
Exemplo n.º 2
0
        public List <Parcela> Pesquisar(PesquisaAgendamentoModel pesquisa)
        {
            if (pesquisa.IdEmpresa == 0 &&
                pesquisa.IdGrupoCusto == 0 &&
                pesquisa.IdItemCusto == 0 &&
                pesquisa.IdFornecedor == 0 &&
                pesquisa.Referencia == null &&
                string.IsNullOrEmpty(pesquisa.Descricao) &&
                pesquisa.VenctoInicial == null &&
                pesquisa.VenctoFinal == null &&
                pesquisa.Valor == null &&
                pesquisa.IdPgto == 0 &&
                string.IsNullOrEmpty(pesquisa.Observ) &&
                pesquisa.IdFpgto == 0 &&
                pesquisa.DataPgto == null &&
                pesquisa.IdConta == 0 &&
                pesquisa.Cheque == null &&
                pesquisa.CadastradoEm == null &&
                pesquisa.CadastradoAPartirDe == null &&
                pesquisa.Situacao == Situacao.Todos)
            {
                throw new ArgumentException("Nenhum parâmetro selecionado para pesquisa");
            }

            var lista = (from a in db.Agendamento
                         join p in db.Parcela on a.Id equals p.IdAgendamento
                         into ap
                         from p in ap
                         where (
                             (pesquisa.IdEmpresa == 0 || a.IdEmpresa == pesquisa.IdEmpresa) &&
                             (pesquisa.IdGrupoCusto == 0 || a.IdGrupoCusto == pesquisa.IdGrupoCusto) &&
                             (pesquisa.IdItemCusto == 0 || a.IdItemCusto == pesquisa.IdItemCusto) &&
                             (pesquisa.IdFornecedor == 0 || a.IdFornecedor == pesquisa.IdFornecedor) &&
                             (pesquisa.Referencia == null || a.Referencia == pesquisa.Referencia) &&
                             (string.IsNullOrEmpty(pesquisa.Descricao) || a.Descricao.Contains(pesquisa.Descricao.ToUpper().Trim())) &&
                             (pesquisa.VenctoInicial == null || p.Vencto >= pesquisa.VenctoInicial) &&
                             (pesquisa.VenctoFinal == null || p.Vencto <= pesquisa.VenctoFinal) &&
                             (pesquisa.Valor == null || p.Valor == pesquisa.Valor) &&
                             (pesquisa.IdPgto == 0 || p.IdPgto == pesquisa.IdPgto) &&
                             (string.IsNullOrEmpty(pesquisa.Observ) || p.Observ.Contains(pesquisa.Observ.ToUpper().Trim())) &&
                             (pesquisa.IdFpgto == 0 || p.IdFpgto == pesquisa.IdFpgto) &&
                             (pesquisa.DataPgto == null || p.DataPgto == pesquisa.DataPgto) &&
                             (pesquisa.IdConta == 0 || p.IdConta == pesquisa.IdConta) &&
                             (pesquisa.Cheque == null || p.Cheque == pesquisa.Cheque) &&
                             (pesquisa.CadastradoEm == null || DbFunctions.TruncateTime(a.CadastradoEm) == pesquisa.CadastradoEm) &&
                             (pesquisa.CadastradoAPartirDe == null || DbFunctions.TruncateTime(a.CadastradoEm) >= pesquisa.CadastradoAPartirDe) &&
                             ((pesquisa.Situacao == Situacao.Pagos && p.Cheque > 0) ||
                              (pesquisa.Situacao == Situacao.EmAberto && p.Cheque == 0) ||
                              (pesquisa.Situacao == Situacao.Todos && p.Cheque >= 0))
                             )
                         select p);

            return(lista.
                   OrderBy(x => x.Vencto)
                   .ToList());
        }