コード例 #1
0
        public Resultado Atualizar(RegistroFinanceiro dados, string userId)
        {
            Resultado resultado = DadosValidos(dados);

            resultado.Acao = "Atualização de RegistroFinanceiro";

            if (resultado.Inconsistencias.Count == 0)
            {
                RegistroFinanceiro registro = this.Obter(dados.Id);

                if (registro == null)
                {
                    resultado.Inconsistencias.Add(
                        "RegistroFinanceiro não encontrado");
                }
                else
                {
                    if (dados.ObsInternas != null && dados.ObsInternas.Count() > 0)
                    {
                        foreach (RegistroObs obs in dados.ObsInternas)
                        {
                            obs.Created = DateTime.Now;
                            obs.UserId  = userId;
                        }
                        registro.ObsInternas.AddRange(dados.ObsInternas);
                    }
                    registro.ProjetoId             = dados.ProjetoId == null ? registro.ProjetoId : dados.ProjetoId;
                    registro.Tipo                  = (dados.Tipo != null && Enum.IsDefined(typeof(TipoRegistro), dados.Tipo)) ? dados.Tipo : registro.Tipo;
                    registro.Status                = (dados.Status != null && Enum.IsDefined(typeof(StatusRegistro), dados.Status)) ? dados.Status : registro.Status;
                    registro.RecursoHumanoId       = dados.RecursoHumanoId == null ? registro.RecursoHumanoId : dados.RecursoHumanoId;
                    registro.Mes                   = dados.Mes == null ? registro.Mes : dados.Mes;
                    registro.QtdHrs                = dados.QtdHrs == null ? registro.QtdHrs : dados.QtdHrs;
                    registro.EmpresaFinanciadoraId = dados.EmpresaFinanciadoraId == null ? registro.EmpresaFinanciadoraId : dados.EmpresaFinanciadoraId;
                    registro.TipoDocumento         = (dados.TipoDocumento != null && Enum.IsDefined(typeof(TipoDocumento), dados.TipoDocumento)) ? dados.TipoDocumento : registro.TipoDocumento;
                    registro.NumeroDocumento       = dados.NumeroDocumento == null ? registro.NumeroDocumento : dados.NumeroDocumento;
                    registro.DataDocumento         = dados.DataDocumento == null ? registro.DataDocumento : dados.DataDocumento;
                    registro.AtividadeRealizada    = dados.AtividadeRealizada == null ? registro.AtividadeRealizada : dados.AtividadeRealizada;
                    // registro.ObsInternas = dados.ObsInternas == null ? registro.ObsInternas : dados.ObsInternas;
                    registro.NomeItem                         = dados.NomeItem == null ? registro.NomeItem : dados.NomeItem;
                    registro.RecursoMaterialId                = dados.RecursoMaterialId == null ? registro.RecursoMaterialId : dados.RecursoMaterialId;
                    registro.EmpresaRecebedoraId              = dados.EmpresaRecebedoraId == null ? registro.EmpresaRecebedoraId : dados.EmpresaRecebedoraId;
                    registro.Beneficiado                      = dados.Beneficiado == null ? registro.Beneficiado : dados.Beneficiado;
                    registro.CnpjBeneficiado                  = dados.CnpjBeneficiado == null ? registro.CnpjBeneficiado : dados.CnpjBeneficiado;
                    registro.CategoriaContabil                = (dados.CategoriaContabil != null && Enum.IsDefined(typeof(CategoriaContabil), dados.CategoriaContabil)) ? dados.CategoriaContabil : registro.CategoriaContabil;
                    registro.EquiparLabExistente              = dados.EquiparLabExistente.HasValue ? dados.EquiparLabExistente : registro.EquiparLabExistente;
                    registro.EquiparLabNovo                   = dados.EquiparLabNovo.HasValue ? dados.EquiparLabNovo : registro.EquiparLabNovo;
                    registro.ItemNacional                     = dados.ItemNacional.HasValue ? dados.ItemNacional : dados.ItemNacional;
                    registro.QtdItens                         = dados.QtdItens == null ? registro.QtdItens : dados.QtdItens;
                    registro.ValorUnitario                    = dados.ValorUnitario == null ? registro.ValorUnitario : dados.ValorUnitario;
                    registro.EspecificacaoTecnica             = dados.EspecificacaoTecnica == null ? registro.EspecificacaoTecnica : dados.EspecificacaoTecnica;
                    registro.FuncaoRecurso                    = dados.FuncaoRecurso == null ? registro.FuncaoRecurso : dados.FuncaoRecurso;
                    registro.CatalogCategoriaContabilGestaoId = dados.CatalogCategoriaContabilGestaoId == null ? registro.CatalogCategoriaContabilGestaoId : dados.CatalogCategoriaContabilGestaoId;
                    registro.CatalogAtividadeId               = dados.CatalogAtividadeId == null ? registro.CatalogAtividadeId : dados.CatalogAtividadeId;

                    _context.SaveChanges();
                }
            }

            return(resultado);
        }
コード例 #2
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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        private Resultado DadosValidos(RegistroFinanceiro dados)
        {
            var resultado = new Resultado();

            if (dados == null)
            {
                resultado.Inconsistencias.Add("Preencha os Dados do RegistroFinanceiro");
            }
            return(resultado);
        }
コード例 #5
0
        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);
        }
        public ActionResult <Resultado> Post([FromBody] RegistroFinanceiro RegistroFinanceiro)
        {
            var Registro = _service._context.RegistrosFinanceiros.Where(r => r.Id == RegistroFinanceiro.Id).FirstOrDefault();

            if (_service.UserProjectCan((int)RegistroFinanceiro.ProjetoId, User, Authorizations.ProjectPermissions.LeituraEscrita))
            {
                var resultado = _service.Incluir(RegistroFinanceiro, this.userId());
                if (resultado.Sucesso)
                {
                    this.CreateLog(_service, (int)RegistroFinanceiro.ProjetoId, _service.Obter(RegistroFinanceiro.Id));
                }
                return(resultado);
            }
            return(Forbid());
        }
        public ActionResult <Resultado> Put([FromBody] RegistroFinanceiro RegistroFinanceiro)
        {
            var Registro = _service.Obter(RegistroFinanceiro.Id);

            if (_service.UserProjectCan((int)Registro.ProjetoId, User, Authorizations.ProjectPermissions.LeituraEscrita))
            {
                _service._context.Entry(Registro).State = Microsoft.EntityFrameworkCore.EntityState.Detached;
                var resultado = _service.Atualizar(RegistroFinanceiro, this.userId());
                if (resultado.Sucesso)
                {
                    this.CreateLog(_service, (int)Registro.ProjetoId, Registro, _service.Obter(RegistroFinanceiro.Id));
                }
                return(resultado);
            }
            return(Forbid());
        }
コード例 #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            _idRegistro  = Convert.ToInt32(Request.QueryString["idRegistro"]);
            this.Culture = "pt-BR";

            RegistroFinanceiroNegocio registroNegocio = new RegistroFinanceiroNegocio();

            registro     = registroNegocio.ObterRegistroPorId(_idRegistro);
            _idMatricula = registro.AlunoProjeto.Id;

            if (!IsPostBack)
            {
                FillGrids();
                FillSummary();
                this.Button2.Attributes.Add("onmousedown", "javascript:WriteStrings();");
            }
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        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;
        }
コード例 #12
0
        public Resultado Excluir(int id)
        {
            Resultado resultado = new Resultado();

            resultado.Acao = "Exclusão de RegistroFinanceiro";

            RegistroFinanceiro registro = _context.RegistrosFinanceiros
                                          .Where(p => p.Id == id).FirstOrDefault();

            if (registro == null)
            {
                resultado.Inconsistencias.Add("RegistroFinanceiro não encontrada");
            }
            else
            {
                _context.Uploads.RemoveRange(_context.Uploads.Where(t => t.RegistroFinanceiroId == id));
                _context.RegistroObs.RemoveRange(_context.RegistroObs.Where(t => t.RegistroFinanceiroId == id));
                _context.RegistrosFinanceiros.Remove(registro);
                _context.SaveChanges();
            }

            return(resultado);
        }
コード例 #13
0
        public Resultado Incluir(RegistroFinanceiro dados, string userId)
        {
            Resultado resultado = DadosValidos(dados);

            resultado.Acao = "Inclusão de RegistroFinanceiro";
            if (dados.ProjetoId <= 0)
            {
                resultado.Inconsistencias.Add("Preencha o ProjetoId");
            }
            else
            {
                Projeto Projeto = _context.Projetos.Where(
                    p => p.Id == dados.ProjetoId).FirstOrDefault();

                if (Projeto == null)
                {
                    resultado.Inconsistencias.Add("Projeto não localizado");
                }
            }

            if (resultado.Inconsistencias.Count == 0)
            {
                if (dados.ObsInternas.Count() > 0)
                {
                    foreach (RegistroObs obs in dados.ObsInternas)
                    {
                        obs.Created = DateTime.Now;
                        obs.UserId  = userId;
                    }
                }
                dados.Status = (StatusRegistro)1;
                _context.RegistrosFinanceiros.Add(dados);
                _context.SaveChanges();
                resultado.Id = dados.Id.ToString();
            }
            return(resultado);
        }
コード例 #14
0
 public bool AtualizarRegistroFinanceiro(RegistroFinanceiro registroFinanceiro)
 {
     return(RegistroFinanceiroDAO.AtualizarRegistroFinanceiro(registroFinanceiro));
 }
コード例 #15
0
        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.");
                    }
                    ;
                }
            }
        }