public static List<Projeto> ObterArrecadacaoMes(int mes, int ano, enumTipoRelatorio tipo) { List<Projeto> listaProjeto = null; VsfDatabase db = new VsfDatabase(Properties.Settings.Default.StringConexao); try { db.AbreConexao(); List<SqlParameter> parameters = new List<SqlParameter>(); parameters.Add(new SqlParameter("@mes", mes)); parameters.Add(new SqlParameter("@ano", ano)); StringBuilder query = new StringBuilder("select proj.Nome as Projeto, proj.CodigoProjeto, "); switch (tipo) { case enumTipoRelatorio.Efetivo: query.Append("SUM(parc.ValorPago) 'Valor' "); break; case enumTipoRelatorio.Previsto: query.Append("SUM(parc.ValorPagar) 'Valor' "); break; case enumTipoRelatorio.Devido: query.Append("SUM(parc.ValorPagar) 'Valor' "); break; } query.Append("FROM Parcelas as parc "); query.Append("INNER JOIN Financeiro as finc "); query.Append("on finc.IdFinanceiro = parc.IdFinanceiro "); query.Append("INNER JOIN Matricula as mat "); query.Append("ON mat.IdMatricula = finc.IdMatricula "); query.Append("INNER JOIN projeto as proj "); query.Append("ON proj.CodigoProjeto = mat.IdProjeto "); query.Append("where month(parc.DataVencimento) = @mes "); query.Append("and year(parc.DataVencimento) = @ano "); switch (tipo) { case enumTipoRelatorio.Efetivo: query.Append("and Pago = 1 "); break; case enumTipoRelatorio.Previsto: query.Append(""); // break; case enumTipoRelatorio.Devido: query.Append("and parc.DataVencimento < GETDATE() "); query.Append("and Pago = 0 "); break; } query.Append("and mat.Estado = 0 "); query.Append("GROUP BY proj.Nome, proj.CodigoProjeto "); SqlDataReader reader = db.ExecuteTextReader(query.ToString(), parameters); listaProjeto = new List<Projeto>(); while (reader.Read()) { Projeto projeto = new Projeto(); projeto.Nome = (reader["Projeto"] != DBNull.Value) ? Convert.ToString(reader["Projeto"]) : string.Empty; projeto.Codigo = (reader["CodigoProjeto"] != DBNull.Value) ? Convert.ToString(reader["CodigoProjeto"]) : string.Empty; projeto.Valor = (reader["Valor"] != DBNull.Value) ? Convert.ToDouble(reader["Valor"]) : 0; listaProjeto.Add(projeto); } } catch (Exception ex) { Logger.Registrar(0, "Exceção em (DAO) " + ex.Source + " - " + ex.ToString() + " : " + ex.Message + "\n\n StackTrace: " + ex.StackTrace); throw new ApplicationException("RelatorioAluno.ObterArrecadacaoMes(): " + ex, ex); } finally { db.FechaConexao(); } return listaProjeto; }
public static Relatorio ObterRelatorioArrecadacaoMes(int mes, int ano, enumTipoRelatorio tipo) { Relatorio relatorio = null; VsfDatabase db = new VsfDatabase(Properties.Settings.Default.StringConexao); try { db.AbreConexao(); List <SqlParameter> parameters = new List <SqlParameter>(); parameters.Add(new SqlParameter("@mes", mes)); parameters.Add(new SqlParameter("@ano", ano)); StringBuilder query = new StringBuilder("select COUNT(alu.Nome) as alunos, "); query.Append("COUNT(proj.Nome) as projetos"); switch (tipo) { case enumTipoRelatorio.Efetivo: query.Append(", SUM(ValorPago) as total, "); query.Append("sum(ValorPago - ValorPagar) as 'Rendimento Juros', "); query.Append("sum(ValorPagar) as 'Arrecadacao Prevista' "); break; case enumTipoRelatorio.Previsto: query.Append(" ,SUM(ValorPagar) as total "); break; case enumTipoRelatorio.Devido: query.Append(" ,SUM(ValorPagar) as total "); break; } query.Append("FROM Parcelas as parc "); query.Append("INNER JOIN Financeiro as finc "); query.Append("on finc.IdFinanceiro = parc.IdFinanceiro "); query.Append("INNER JOIN Matricula as mat "); query.Append("ON mat.IdMatricula = finc.IdMatricula "); query.Append("INNER JOIN Aluno as alu "); query.Append("ON alu.NumeroPece = mat.IdAluno "); query.Append("INNER JOIN projeto as proj "); query.Append("ON proj.CodigoProjeto = mat.IdProjeto "); query.Append("where month(parc.DataVencimento) = @mes "); query.Append("and year(parc.DataVencimento) = @ano "); switch (tipo) { case enumTipoRelatorio.Efetivo: query.Append(" and Pago = 1 "); break; case enumTipoRelatorio.Previsto: query.Append(""); break; case enumTipoRelatorio.Devido: query.Append(" and parc.DataVencimento < GETDATE()"); query.Append(" and Pago = 0 "); break; } query.Append("and mat.Estado = 0 "); SqlDataReader reader = db.ExecuteTextReader(query.ToString(), parameters); if (reader.Read()) { relatorio = new Relatorio(); relatorio.ValorTotal = (reader["total"] != DBNull.Value) ? Convert.ToDecimal(reader["total"]) : 0; relatorio.NumAlunos = (reader["alunos"] != DBNull.Value) ? Convert.ToInt32(reader["alunos"]) : 0; relatorio.NumProjetos = (reader["projetos"] != DBNull.Value) ? Convert.ToInt32(reader["projetos"]) : 0; if (tipo == enumTipoRelatorio.Efetivo) { relatorio.ValorJuros = (reader["Rendimento Juros"] != DBNull.Value) ? Convert.ToDecimal(reader["Rendimento Juros"]) : 0; relatorio.ValorPrevisto = (reader["Arrecadacao Prevista"] != DBNull.Value) ? Convert.ToDecimal(reader["Arrecadacao Prevista"]) : 0; } } } catch (Exception ex) { Logger.Registrar(0, "Exceção em (DAO) " + ex.Source + " - " + ex.ToString() + " : " + ex.Message + "\n\n StackTrace: " + ex.StackTrace); throw new ApplicationException("RelatorioAluno.ObterRelatorioArrecadacaoMes(): " + ex, ex); } finally { db.FechaConexao(); } return(relatorio); }
public static Relatorio ObterRelatorioArrecadacaoMes(int mes, int ano, enumTipoRelatorio tipo) { Relatorio relatorio = null; VsfDatabase db = new VsfDatabase(Properties.Settings.Default.StringConexao); try { db.AbreConexao(); List<SqlParameter> parameters = new List<SqlParameter>(); parameters.Add(new SqlParameter("@mes", mes)); parameters.Add(new SqlParameter("@ano", ano)); StringBuilder query = new StringBuilder("select COUNT(alu.Nome) as alunos, "); query.Append("COUNT(proj.Nome) as projetos"); switch (tipo) { case enumTipoRelatorio.Efetivo: query.Append(", SUM(ValorPago) as total, "); query.Append("sum(ValorPago - ValorPagar) as 'Rendimento Juros', "); query.Append("sum(ValorPagar) as 'Arrecadacao Prevista' "); break; case enumTipoRelatorio.Previsto: query.Append(" ,SUM(ValorPagar) as total "); break; case enumTipoRelatorio.Devido: query.Append(" ,SUM(ValorPagar) as total "); break; } query.Append("FROM Parcelas as parc "); query.Append("INNER JOIN Financeiro as finc "); query.Append("on finc.IdFinanceiro = parc.IdFinanceiro "); query.Append("INNER JOIN Matricula as mat "); query.Append("ON mat.IdMatricula = finc.IdMatricula "); query.Append("INNER JOIN Aluno as alu "); query.Append("ON alu.NumeroPece = mat.IdAluno "); query.Append("INNER JOIN projeto as proj "); query.Append("ON proj.CodigoProjeto = mat.IdProjeto "); query.Append("where month(parc.DataVencimento) = @mes "); query.Append("and year(parc.DataVencimento) = @ano "); switch (tipo) { case enumTipoRelatorio.Efetivo: query.Append(" and Pago = 1 "); break; case enumTipoRelatorio.Previsto: query.Append(""); break; case enumTipoRelatorio.Devido: query.Append(" and parc.DataVencimento < GETDATE()"); query.Append(" and Pago = 0 "); break; } query.Append("and mat.Estado = 0 "); SqlDataReader reader = db.ExecuteTextReader(query.ToString(), parameters); if (reader.Read()) { relatorio = new Relatorio(); relatorio.ValorTotal = (reader["total"] != DBNull.Value) ? Convert.ToDecimal(reader["total"]) : 0; relatorio.NumAlunos = (reader["alunos"] != DBNull.Value) ? Convert.ToInt32(reader["alunos"]) : 0; relatorio.NumProjetos = (reader["projetos"] != DBNull.Value) ? Convert.ToInt32(reader["projetos"]) : 0; if (tipo == enumTipoRelatorio.Efetivo) { relatorio.ValorJuros = (reader["Rendimento Juros"] != DBNull.Value) ? Convert.ToDecimal(reader["Rendimento Juros"]) : 0; relatorio.ValorPrevisto = (reader["Arrecadacao Prevista"] != DBNull.Value) ? Convert.ToDecimal(reader["Arrecadacao Prevista"]) : 0; } } } catch (Exception ex) { Logger.Registrar(0, "Exceção em (DAO) " + ex.Source + " - " + ex.ToString() + " : " + ex.Message + "\n\n StackTrace: " + ex.StackTrace); throw new ApplicationException("RelatorioAluno.ObterRelatorioArrecadacaoMes(): " + ex, ex); } finally { db.FechaConexao(); } return relatorio; }
public static List <Projeto> ObterArrecadacaoMes(int mes, int ano, enumTipoRelatorio tipo) { List <Projeto> listaProjeto = null; VsfDatabase db = new VsfDatabase(Properties.Settings.Default.StringConexao); try { db.AbreConexao(); List <SqlParameter> parameters = new List <SqlParameter>(); parameters.Add(new SqlParameter("@mes", mes)); parameters.Add(new SqlParameter("@ano", ano)); StringBuilder query = new StringBuilder("select proj.Nome as Projeto, proj.CodigoProjeto, "); switch (tipo) { case enumTipoRelatorio.Efetivo: query.Append("SUM(parc.ValorPago) 'Valor' "); break; case enumTipoRelatorio.Previsto: query.Append("SUM(parc.ValorPagar) 'Valor' "); break; case enumTipoRelatorio.Devido: query.Append("SUM(parc.ValorPagar) 'Valor' "); break; } query.Append("FROM Parcelas as parc "); query.Append("INNER JOIN Financeiro as finc "); query.Append("on finc.IdFinanceiro = parc.IdFinanceiro "); query.Append("INNER JOIN Matricula as mat "); query.Append("ON mat.IdMatricula = finc.IdMatricula "); query.Append("INNER JOIN projeto as proj "); query.Append("ON proj.CodigoProjeto = mat.IdProjeto "); query.Append("where month(parc.DataVencimento) = @mes "); query.Append("and year(parc.DataVencimento) = @ano "); switch (tipo) { case enumTipoRelatorio.Efetivo: query.Append("and Pago = 1 "); break; case enumTipoRelatorio.Previsto: query.Append(""); // break; case enumTipoRelatorio.Devido: query.Append("and parc.DataVencimento < GETDATE() "); query.Append("and Pago = 0 "); break; } query.Append("and mat.Estado = 0 "); query.Append("GROUP BY proj.Nome, proj.CodigoProjeto "); SqlDataReader reader = db.ExecuteTextReader(query.ToString(), parameters); listaProjeto = new List <Projeto>(); while (reader.Read()) { Projeto projeto = new Projeto(); projeto.Nome = (reader["Projeto"] != DBNull.Value) ? Convert.ToString(reader["Projeto"]) : string.Empty; projeto.Codigo = (reader["CodigoProjeto"] != DBNull.Value) ? Convert.ToString(reader["CodigoProjeto"]) : string.Empty; projeto.Valor = (reader["Valor"] != DBNull.Value) ? Convert.ToDouble(reader["Valor"]) : 0; listaProjeto.Add(projeto); } } catch (Exception ex) { Logger.Registrar(0, "Exceção em (DAO) " + ex.Source + " - " + ex.ToString() + " : " + ex.Message + "\n\n StackTrace: " + ex.StackTrace); throw new ApplicationException("RelatorioAluno.ObterArrecadacaoMes(): " + ex, ex); } finally { db.FechaConexao(); } return(listaProjeto); }