public bool IncluirRegistroFinanceiro(RegistroFinanceiro registroFinanceiro, AlunoProjeto alunoProjeto)
 {
     int newId = 0;
     newId = RegistroFinanceiroDAO.IncluirRegistroFinanceiro(registroFinanceiro, alunoProjeto);
     registroFinanceiro.IdRegistro = newId;
     ParcelaNegocio parcelaNegocio = new ParcelaNegocio();
     return (parcelaNegocio.GerarParcelas(registroFinanceiro).Count > 0);
 }
        public static List<RegistroFinanceiro> BuscarRegistrosPorAlunoEProjeto(string aluno, string projeto)
        {
            List<RegistroFinanceiro> listRegistros = new List<RegistroFinanceiro>();
            VsfDatabase db = new VsfDatabase(Properties.Settings.Default.StringConexao);
            try
            {
                List<SqlParameter> parameters = new List<SqlParameter>();
                parameters.Add(new SqlParameter("@aluno", aluno));
                parameters.Add(new SqlParameter("@projeto", projeto));

                db.AbreConexao();

                StringBuilder query = new StringBuilder("SELECT * FROM Financeiro");
                query.Append(" INNER JOIN Matricula ON Financeiro.idMatricula = Matricula.idMatricula");
                query.Append(" LEFT JOIN Aluno ON Matricula.IdAluno = Aluno.NumeroPece");
                query.Append(" LEFT JOIN Projeto ON Matricula.IdProjeto = Projeto.CodigoProjeto");
                if (!projeto.Equals(String.Empty))
                {
                    query.Append(" WHERE Projeto.Nome LIKE @projeto");
                    if (!aluno.Equals(String.Empty))
                        query.Append("      AND Aluno.Nome LIKE @aluno");
                } else if(!aluno.Equals(String.Empty))
                    query.Append(" WHERE Aluno.Nome LIKE @aluno");

                SqlDataReader reader = db.ExecuteTextReader(query.ToString(), parameters);
                while (reader.Read())
                {
                    RegistroFinanceiro registro = new RegistroFinanceiro();
                    registro.IdRegistro = (reader["IdFinanceiro"] != DBNull.Value) ? Convert.ToInt32(reader["IdFinanceiro"]) : 0;
                    registro.AlunoProjeto = AlunoDAO.ObterRelacionamentoAlunoProjeto(Convert.ToInt32(reader["IdAluno"]), Convert.ToString(reader["IdProjeto"]));
                    registro.DataVencimentoPrimeiraParcela = (reader["PrimeiraParcela"] != DBNull.Value) ? Convert.ToDateTime(reader["PrimeiraParcela"]) : DateTime.MinValue;
                    registro.DiaPagamento = (reader["DiaPagamento"] != DBNull.Value) ? Convert.ToDateTime(reader["DiaPagamento"]).Day : 0;
                    registro.NumeroParcelas = (reader["NumeroParcelas"] != DBNull.Value) ? Convert.ToInt32(reader["NumeroParcelas"]) : 0;
                    registro.Observacoes = (reader["Observacoes"] != DBNull.Value) ? Convert.ToString(reader["Observacoes"]) : String.Empty;
                    registro.PrecoReajustado = (reader["PrecoReajustado"] != DBNull.Value) ? Convert.ToDouble(reader["PrecoReajustado"]) : 0.0;
                    registro.Status = (StatusAlunoProjeto)Enum.Parse(typeof(StatusAlunoProjeto), (reader["estado"] != DBNull.Value) ? Convert.ToString(reader["estado"]) : "0");

                    listRegistros.Add(registro);
                }
            }
            catch (Exception ex)
            {
                Logger.Registrar(0, "Exceção em (DAO) " + ex.Source + " - " + ex.ToString() + " : " + ex.Message + "\n\n StackTrace: " + ex.StackTrace);
                throw new ApplicationException("DAOAluno.ObterAlunosPorProjeto(): " + ex, ex);
            }
            finally
            {
                db.FechaConexao();
            }
            return listRegistros;
        }
        public List<Parcela> GerarParcelas(RegistroFinanceiro registroFinanceiro)
        {
            Int32 nParcelas = registroFinanceiro.NumeroParcelas;
            Double valorParcela = registroFinanceiro.PrecoReajustado / Convert.ToDouble(nParcelas);
            List<Parcela> listParcelas = new List<Parcela>();
            Parcela primeiraParcela = new Parcela(1, registroFinanceiro.DataVencimentoPrimeiraParcela, valorParcela);
            this.InserirParcela(primeiraParcela, registroFinanceiro.IdRegistro);
            listParcelas.Add(primeiraParcela);

            for (int i = 2; i <= nParcelas; i++)
            {
                DateTime vencimento = registroFinanceiro.DataVencimentoPrimeiraParcela.AddMonths(i);
                vencimento = vencimento.AddDays((vencimento.Day - registroFinanceiro.DiaPagamento) * -1);
                Parcela parcela = new Parcela(i, vencimento, valorParcela);
                this.InserirParcela(parcela, registroFinanceiro.IdRegistro);
                listParcelas.Add(parcela);
            }

            return listParcelas;
        }
        public static bool AtualizarRegistroFinanceiro(RegistroFinanceiro registroFinanceiro)
        {
            int affected = 0;
            VsfDatabase db = new VsfDatabase(Properties.Settings.Default.StringConexao);
            try
            {
                List<SqlParameter> parameters = new List<SqlParameter>();
                parameters.Add(new SqlParameter("@idMatricula", registroFinanceiro.AlunoProjeto.Id));
                parameters.Add(new SqlParameter("@numeroParcelas", registroFinanceiro.NumeroParcelas));
                parameters.Add(new SqlParameter("@precoReajustado", registroFinanceiro.PrecoReajustado));
                parameters.Add(new SqlParameter("@observacoes", registroFinanceiro.Observacoes));
                parameters.Add(new SqlParameter("@diaPagamento", registroFinanceiro.DiaPagamento));
                parameters.Add(new SqlParameter("@primeiraParcela", registroFinanceiro.DataVencimentoPrimeiraParcela));
                parameters.Add(new SqlParameter("@status", registroFinanceiro.Status));

                db.AbreConexao();

                StringBuilder query = new StringBuilder("UPDATE Financeiro SET");
                query.Append(" NumeroParcelas = @numeroParcelas,");
                query.Append(" PrecoReajustado = @precoReajustado,");
                query.Append(" Observacoes = @observacoes,");
                query.Append(" DiaPagamento = @diaPagamento,");
                query.Append(" PrimeiraParcela = @primeiraParcela");
                query.Append(" WHERE idMatricula = @idMatricula");

                affected = db.ExecuteTextNonQuery(query.ToString(), parameters);
            }
            catch (Exception ex)
            {
                Logger.Registrar(0, "Exceção em (DAO) " + ex.Source + " - " + ex.ToString() + " : " + ex.Message + "\n\n StackTrace: " + ex.StackTrace);
                throw new ApplicationException("DAOProjeto.AtualizarRegistroFinanceiro(codigoProjeto): " + ex.ToString(), ex);
            }
            finally
            {
                db.FechaConexao();
            }

            Logger.Registrar(1, "RegistroFinanceiro inserido para ProjetoAluno número " + registroFinanceiro.AlunoProjeto.Id + ".");

            return (affected > 0);
        }
Exemple #5
0
        public static int IncluirRegistroFinanceiro(Vsf.Modelo.RegistroFinanceiro registroFinanceiro, Vsf.Modelo.AlunoProjeto alunoProjeto)
        {
            int         newId = 0;
            VsfDatabase db    = new VsfDatabase(Properties.Settings.Default.StringConexao);

            try
            {
                List <SqlParameter> parameters = new List <SqlParameter>();
                parameters.Add(new SqlParameter("@idMatricula", alunoProjeto.Id));
                parameters.Add(new SqlParameter("@numeroParcelas", registroFinanceiro.NumeroParcelas));
                parameters.Add(new SqlParameter("@precoReajustado", registroFinanceiro.PrecoReajustado));
                parameters.Add(new SqlParameter("@observacoes", registroFinanceiro.Observacoes));
                parameters.Add(new SqlParameter("@diaPagamento", registroFinanceiro.DiaPagamento));
                parameters.Add(new SqlParameter("@primeiraParcela", registroFinanceiro.DataVencimentoPrimeiraParcela));

                db.AbreConexao();

                StringBuilder query = new StringBuilder("INSERT INTO Financeiro");
                query.Append(" (idMatricula, NumeroParcelas, PrecoReajustado, Observacoes, DiaPagamento, PrimeiraParcela)");
                query.Append(" VALUES (@idMatricula, @numeroParcelas, @precoReajustado, @observacoes, @diaPagamento, @primeiraParcela)");
                query.Append(" SELECT SCOPE_IDENTITY()");

                newId = Convert.ToInt32(db.ExecuteScalar(query.ToString(), parameters));
            }
            catch (Exception ex)
            {
                Logger.Registrar(0, "Exceção em (DAO) " + ex.Source + " - " + ex.ToString() + " : " + ex.Message + "\n\n StackTrace: " + ex.StackTrace);
                throw new ApplicationException("DAOProjeto.ObterProjetoPorCodigo(codigoProjeto): " + ex.ToString(), ex);
            }
            finally
            {
                db.FechaConexao();
            }

            Logger.Registrar(1, "RegistroFinanceiro inserido para ProjetoAluno número " + alunoProjeto.Id + ".");

            return(newId);
        }
 public bool AtualizarRegistroFinanceiro(RegistroFinanceiro registroFinanceiro)
 {
     return RegistroFinanceiroDAO.AtualizarRegistroFinanceiro(registroFinanceiro);
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            _idMatricula = Convert.ToInt32(Request.QueryString["idMatricula"]);
            this.Culture = "pt-BR";

            RegistroFinanceiroNegocio registroNegocio = new RegistroFinanceiroNegocio();
            registro = registroNegocio.ObterRegistroPorMatricula(_idMatricula);
            _idRegistro = registro.IdRegistro;

            if (!IsPostBack)
            {
                FillGrids();
                FillSummary();
                this.Button2.Attributes.Add("onmousedown", "javascript:WriteStrings();");
            }
        }
        public static RegistroFinanceiro ObterRegistroPorMatricula(int idMatricula)
        {
            RegistroFinanceiro registroFinanceiro = new RegistroFinanceiro();
            VsfDatabase db = new VsfDatabase(Properties.Settings.Default.StringConexao);
            try
            {
                List<SqlParameter> parameters = new List<SqlParameter>();
                parameters.Add(new SqlParameter("@idMatricula", idMatricula));

                db.AbreConexao();

                StringBuilder query = new StringBuilder("SELECT * FROM Financeiro");
                query.Append(" INNER JOIN Matricula ON Financeiro.idMatricula = Matricula.idMatricula");
                query.Append(" WHERE Financeiro.idMatricula = @idMatricula");

                SqlDataReader reader = db.ExecuteTextReader(query.ToString(), parameters);
                while (reader.Read())
                {
                    registroFinanceiro.IdRegistro = (reader["IdFinanceiro"] != DBNull.Value) ? Convert.ToInt32(reader["IdFinanceiro"]) : 0;
                    registroFinanceiro.AlunoProjeto = AlunoDAO.ObterRelacionamentoAlunoProjeto(Convert.ToInt32(reader["IdAluno"]), Convert.ToString(reader["IdProjeto"]));
                    registroFinanceiro.DataVencimentoPrimeiraParcela = (reader["PrimeiraParcela"] != DBNull.Value) ? Convert.ToDateTime(reader["PrimeiraParcela"]) : DateTime.MinValue;
                    registroFinanceiro.DiaPagamento = (reader["DiaPagamento"] != DBNull.Value) ? Convert.ToDateTime(reader["DiaPagamento"]).Day : 0;
                    registroFinanceiro.NumeroParcelas = (reader["NumeroParcelas"] != DBNull.Value) ? Convert.ToInt32(reader["NumeroParcelas"]) : 0;
                    registroFinanceiro.Observacoes = (reader["Observacoes"] != DBNull.Value) ? Convert.ToString(reader["Observacoes"]) : String.Empty;
                    registroFinanceiro.PrecoReajustado = (reader["PrecoReajustado"] != DBNull.Value) ? Convert.ToDouble(reader["PrecoReajustado"]) : 0.0;
                    registroFinanceiro.Status = (StatusAlunoProjeto)Enum.Parse(typeof(StatusAlunoProjeto), (reader["estado"] != DBNull.Value) ? Convert.ToString(reader["estado"]) : "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("DAOAluno.ObterRegistroPorId(): " + ex, ex);
            }
            finally
            {
                db.FechaConexao();
            }
            return registroFinanceiro;
        }
        protected void ButtonCadastrar_Click(object sender, EventArgs e)
        {
            bool errorOccured = false;
            string errorMessage = "Ocorreram erros durante o processamento. <ul>";

            RegistroFinanceiro registroFinanceiro = new RegistroFinanceiro();
            DateTime dtVencimentoParcela = new DateTime();
            if (DateTime.TryParse(this.TextBoxDataPrimeiraParcela.Text, _culture, DateTimeStyles.None, out dtVencimentoParcela))
                registroFinanceiro.DataVencimentoPrimeiraParcela = dtVencimentoParcela;
            else
            {
                errorOccured = true;
                errorMessage += "<li>Data de Vencimento da Primeira parcela inválida</li>";
            }

            int diaPagamento = 0;
            if (Int32.TryParse(this.TextBoxDiaPagamento.Text, out diaPagamento))
                registroFinanceiro.DiaPagamento = diaPagamento;
            else
            {
                errorOccured = true;
                errorMessage += "<li>Dia de vencimento de parcelas deve ser preenchido</li>";
            }

            int intNumeroParcelas = 0;
            if (Int32.TryParse(this.TextBoxNumeroParcelas.Text, out intNumeroParcelas))
                registroFinanceiro.NumeroParcelas = intNumeroParcelas;
            else
            {
                errorOccured = true;
                errorMessage += "<li>Número de parcelas deve ser preenchido</li>";
            }

            errorMessage += "</ul>";

            registroFinanceiro.Observacoes = this.TextBoxObservacoes.Text;

            Double valorReajustado = 0.0;
            if (Double.TryParse(this.HiddenValorComAjuste.Value, NumberStyles.Currency, _culture, out valorReajustado) && valorReajustado > 0)
                registroFinanceiro.PrecoReajustado = valorReajustado;
            else
            {
                errorOccured = true;
                errorMessage += "Valor inválido para o valor final do curso.";
            }
            registroFinanceiro.Status = StatusAlunoProjeto.EmDia;

            AlunoNegocio alunoNegocio = new AlunoNegocio();
            AlunoProjeto alunoProjeto = alunoNegocio.ObterRelacionamentoAlunoProjeto(Int32.Parse(DropDownListAlunos.SelectedValue), DropDownListProjetos.SelectedValue);

            registroFinanceiro.AlunoProjeto = alunoProjeto;

            RegistroFinanceiroNegocio financeiroNegocio = new RegistroFinanceiroNegocio();
            if (errorOccured)
            {
                ShowErrorMessage(errorMessage);
            }
            else
            {

                if (!Boolean.Parse(HiddenFieldEditando.Value))
                {
                    if (financeiroNegocio.IncluirRegistroFinanceiro(registroFinanceiro, alunoProjeto))
                    {
                        ShowSuccessMessage("Cadastro realizado com sucesso. <a href=\"ParcelamentoEditar.aspx?idRegistro=" + registroFinanceiro.IdRegistro + "\">Clique aqui para editar o parcelamento deste registro.</a>");
                        ButtonEditarParcelas.Visible = true;
                    }
                }
                else
                {
                    if(financeiroNegocio.AtualizarRegistroFinanceiro(registroFinanceiro))
                        ShowSuccessMessage("Cadastro atualizado com sucesso."); ;
                }
            }
        }
        private void FillAllFieldsToEdit(RegistroFinanceiro registroFinanceiro)
        {
            this.TextBoxValorComAjuste.Text = registroFinanceiro.PrecoReajustado.ToString("#0.00").Replace('.', ',');
            this.HiddenValorComAjuste.Value = registroFinanceiro.PrecoReajustado.ToString("#0.00").Replace('.', ',');
            this.TextBoxNumeroParcelas.Text = Convert.ToString(registroFinanceiro.NumeroParcelas);
            this.TextBoxDiaPagamento.Text = Convert.ToString(registroFinanceiro.DiaPagamento);
            this.TextBoxDataPrimeiraParcela.Text = Convert.ToString(registroFinanceiro.DataVencimentoPrimeiraParcela.ToString("d", _culture));
            this.TextBoxObservacoes.Text = registroFinanceiro.Observacoes;

            SetEnabledFieldsWhileEditing(true);
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            BindJSEvents();

            if (!IsPostBack)
            {
                FillComboProjetos();
            }

            int idRegistroSelecionado = -1;
            if (!(Request.QueryString["idMatricula"] == null))
            {
                HiddenFieldEditando.Value = "true";
                idRegistroSelecionado = Int32.Parse(Request.QueryString["idMatricula"]);
                RegistroFinanceiroNegocio registroNegocio = new RegistroFinanceiroNegocio();
                registroFinanceiroGlobal = registroNegocio.ObterRegistroPorMatricula(idRegistroSelecionado);

                SelecionaProjeto(registroFinanceiroGlobal.AlunoProjeto.Projeto.Codigo);
                SelecionaDdlAluno(registroFinanceiroGlobal.AlunoProjeto.Aluno.NumeroPece);
                if(!IsPostBack) FillAllFieldsToEdit(registroFinanceiroGlobal);
            }
            else
            {
                if (!IsPostBack) SelecionaProjeto("");
            }

            VerificaAlunoSelecionado();

            SetEnabledFieldsWhileEditing(Boolean.Parse(HiddenFieldEditando.Value));

            PanelSucesso.Visible = false;
            PanelErro.Visible = false;
        }