public IEnumerable <Financeiro> Filtrar(FinanceiroFiltrar filtrar)
        {
            string sql = @"select a.financeiroID, a.DataDeVencimento, a.Valor, a.ClienteID, a.Status, b.nome as nomeCliente 
                                        from financeiro a
                                        inner join cliente b on (a.clienteID = b.ClienteID) where (1=1)";

            if (filtrar.Status == StatusTitulo.em_aberto)
            {
                sql += string.Format("AND a.Status={0}", (int)StatusTitulo.em_aberto);
            }

            if (filtrar.Status == StatusTitulo.pago)
            {
                sql += string.Format("AND a.Status={0}", (int)StatusTitulo.pago);
            }

            if (filtrar.Status == StatusTitulo.vencida)
            {
                sql += string.Format("AND a.Status={0} AND a.DataDeVencimento < (select GetDate())", (int)StatusTitulo.em_aberto);
            }

            var cmd = new SqlCommand(sql, this.conexao.ObterConexao());

            SqlDataReader sqlDataReader = cmd.ExecuteReader();

            while (sqlDataReader.Read())
            {
                yield return(new Financeiro(Convert.ToInt32(sqlDataReader.GetValue(0)),
                                            Convert.ToDateTime(sqlDataReader.GetValue(1)),
                                            Convert.ToDouble(sqlDataReader.GetValue(2)),
                                            (StatusTitulo)Convert.ToInt32(sqlDataReader.GetValue(3)),
                                            Convert.ToInt32(sqlDataReader.GetValue(4)),
                                            sqlDataReader.GetValue(5).ToString()));
            }
        }
示例#2
0
 public IEnumerable <Financeiro> Filtrar(FinanceiroFiltrar filtrar)
 => this.repository.Filtrar(filtrar);