Esempio n. 1
0
 public IEnumerable <Despesas> SearchDespesas(SearchDespesa sd)
 {
     return(_despesasRepositoryReadOnly.SearchDespesas(sd));
 }
Esempio n. 2
0
        public IEnumerable <Despesas> SearchDespesas(SearchDespesa sd)
        {
            using (var cn = Connection)
            {
                cn.Open();
                bool hasData = false;
                var  sql     = @"select * from Despesas d 
                                inner join CategoriaFinanceira cf on d.CategoriaFinanceiraId = cf.CategoriaFinanceiraId
                                left join Fornecedores f on d.FornecedorId = f.FornecedorId
                                left join TipoPagamento tp on d.TipoPagamentoId = tp.TipoPagamentoId
                                left join SubCategoriaFinanceira sc on d.SubCategoriaFinanceiraId = sc.SubCategoriaFinanceiraId
                                where 1 = 1";

                var dt = new DateTime();

                if (sd.EmissaoInicio != dt)
                {
                    sql     = sql + " AND d.DataEmissao >= '" + sd.EmissaoInicio.ToString("yyyy-MM-dd 00:00:00") + "'";
                    hasData = true;
                }

                if (sd.EmissaoFim != dt)
                {
                    sql     = sql + " AND d.DataEmissao <= '" + sd.EmissaoFim.ToString("yyyy-MM-dd 23:59:59") + "'";
                    hasData = true;
                }


                if (sd.PagamentoInicio != dt)
                {
                    sql     = sql + " AND d.DataPagamento >= '" + sd.PagamentoInicio.ToString("yyyy-MM-dd 00:00:00") + "'";
                    hasData = true;
                }

                if (sd.PagamentoFim != dt)
                {
                    sql     = sql + " AND d.DataPagamento <= '" + sd.PagamentoFim.ToString("yyyy-MM-dd 23:59:59") + "'";
                    hasData = true;
                }


                if (sd.VencimentoInicio != dt)
                {
                    sql     = sql + " AND d.DataVencimento >= '" + sd.VencimentoInicio.ToString("yyyy-MM-dd 00:00:00") + "'";
                    hasData = true;
                }

                if (sd.VencimentoFim != dt)
                {
                    sql     = sql + " AND d.DataVencimento <= '" + sd.VencimentoFim.ToString("yyyy-MM-dd 23:59:59") + "'";
                    hasData = true;
                }

                if (!hasData)
                {
                    sql = sql + " AND Month(d.DataVencimento) = Month(GetDate()) and YEAR(d.DataVencimento) = YEAR(getDate())";
                }

                var despesas = cn.Query <Despesas, CategoriaFinanceira, Fornecedores, TipoPagamento, SubCategoriaFinanceira, Despesas>(
                    sql,
                    (d, cf, f, tp, sc) =>
                {
                    d.CategoriaFinanceiraId  = cf.CategoriaFinanceiraId;
                    d.Fornecedores           = f;
                    d.CategoriaFinanceira    = cf;
                    d.TipoPagamento          = tp;
                    d.SubCategoriaFinanceira = sc;
                    return(d);
                }, splitOn: "DespesasId, CategoriaFinanceiraId, FornecedorId, TipoPagamentoId, SubCategoriaFinanceiraId");


                cn.Close();
                return(despesas);
            }
        }