Exemplo n.º 1
0
    protected void _grvColaborador_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Deletar")
        {
            try
            {
                int  index  = int.Parse(e.CommandArgument.ToString());
                long col_id = Convert.ToInt32(_grvColaborador.DataKeys[index].Value);

                RHU_Colaborador entity = new RHU_Colaborador {
                    col_id = col_id
                };
                RHU_ColaboradorBO.GetEntity(entity);

                if (RHU_ColaboradorBO.Delete(entity, null, __SessionWEB.__UsuarioWEB.Usuario.ent_id))
                {
                    _grvColaborador.PageIndex = 0;
                    _grvColaborador.DataBind();
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "col_id: " + col_id);
                    _lblMessage.Text = UtilBO.GetErroMessage("Colaborador excluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                }
            }
            catch (ValidationException ex)
            {
                _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir o colaborador.", UtilBO.TipoMensagem.Erro);
            }
        }

        if (e.CommandName == "CriaDocente")
        {
            try
            {
                int  index  = int.Parse(e.CommandArgument.ToString());
                long col_id = Convert.ToInt32(_grvColaborador.DataKeys[index].Value);

                Session["col_id"] = col_id;
                RedirecionarPagina("~/Academico/RecursosHumanos/Docente/Cadastro.aspx");
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar os dados.", UtilBO.TipoMensagem.Erro);
            }
        }
    }
Exemplo n.º 2
0
        public new static bool Delete
        (
            ACA_Docente entity
        )
        {
            ACA_DocenteDAO dao = new ACA_DocenteDAO();

            dao._Banco.Open(IsolationLevel.ReadCommitted);

            try
            {
                //Verifica se o docente pode ser deletado
                if (GestaoEscolarUtilBO.VerificarIntegridade("doc_id", entity.doc_id.ToString(), "ACA_Docente,REL_SituacaoPlanejamentoAulasNotas", dao._Banco))
                {
                    throw new ValidationException("Não é possível excluir o docente pois possui outros registros ligados a ele.");
                }

                //Deleta logicamente o docente
                dao.Delete(entity);

                RHU_Colaborador col = new RHU_Colaborador {
                    col_id = entity.col_id
                };
                RHU_ColaboradorBO.GetEntity(col);

                RHU_ColaboradorBO.Delete(col, dao._Banco);

                //Limpa o cache do docente
                CacheManager.Factory.Remove(string.Format(ModelCache.DOCENTE_POR_ENTIDADE_PESSOA_MODEL_KEY, col.ent_id, col.pes_id));

                return(true);
            }
            catch (Exception err)
            {
                dao._Banco.Close(err);
                throw;
            }
            finally
            {
                dao._Banco.Close();
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Salva os registros de ColaboradorCargo da lista informada, valida as datas e se for um registro
        ///     novo verifica se já existe um coc_id correspondente ao registro que está sendo salvo.
        /// </summary>
        /// <param name="lstColaboradorCargo">Lista de entidade RHU_ColaboradorCargo</param>
        public static void SalvarColaboradorCargoAtribuiçãoDocente(List <RHU_ColaboradorCargo> lstColaboradorCargo)
        {
            RHU_ColaboradorCargoDAO dao = new RHU_ColaboradorCargoDAO();

            dao._Banco.Open(IsolationLevel.ReadCommitted);

            try
            {
                foreach (RHU_ColaboradorCargo entity in lstColaboradorCargo)
                {
                    RHU_ColaboradorCargo colaboradorCargo = entity;
                    if (!colaboradorCargo.Validate())
                    {
                        throw new ValidationException(GestaoEscolarUtilBO.ErrosValidacao(colaboradorCargo));
                    }

                    //Carrega o registro de Colaborador do cargo que está sendo salvo
                    RHU_Colaborador colaborador = new RHU_Colaborador
                    {
                        col_id = colaboradorCargo.col_id,
                        ent_id = colaboradorCargo.ent_id
                    };
                    RHU_ColaboradorBO.GetEntity(colaborador, dao._Banco);

                    //Valida os dados do registro que está sendo adicionado

                    if (colaboradorCargo.coc_vigenciaFim != new DateTime() && colaboradorCargo.coc_vigenciaFim < colaboradorCargo.coc_vigenciaInicio)
                    {
                        throw new ArgumentException("Vigência inicial não pode ser maior que a vigência final.");
                    }

                    if (colaborador.col_dataAdmissao != new DateTime() && colaboradorCargo.coc_vigenciaInicio < colaborador.col_dataAdmissao)
                    {
                        throw new ArgumentException("Vigência inicial não pode ser menor que a data de admissão.");
                    }

                    if (colaborador.col_dataAdmissao != new DateTime() && colaboradorCargo.coc_vigenciaFim != new DateTime() &&
                        colaboradorCargo.coc_vigenciaFim < colaborador.col_dataAdmissao)
                    {
                        throw new ArgumentException("Vigência final não pode ser menor que a data de admissão.");
                    }

                    if (colaborador.col_dataDemissao != new DateTime() && colaboradorCargo.coc_vigenciaInicio > colaborador.col_dataDemissao)
                    {
                        throw new ArgumentException("Vigência inicial não pode ser maior que a data de demissão.");
                    }

                    if (colaborador.col_dataDemissao != new DateTime() && colaboradorCargo.coc_vigenciaFim != new DateTime() &&
                        colaboradorCargo.coc_vigenciaFim > colaborador.col_dataDemissao)
                    {
                        throw new ArgumentException("Vigência final não pode ser maior que a data de demissão.");
                    }

                    ////Só salva se for matrícula de complmentação de carga horária ou vínculo extra
                    //if (!colaboradorCargo.coc_complementacaoCargaHoraria && !colaboradorCargo.coc_vinculoExtra)
                    //    throw new ValidationException("Método é usado para salvar apenas colaborador cargo de vículo extra ou complementação de carga horária.");

                    //Se é uma matrícula nova então verifica se já existe no banco
                    if (colaboradorCargo.IsNew)
                    {
                        //Verifica se já existe um registro salvo correspondente ao que está sendo gravado
                        int coc_id = SelectColaboradorCargoID(colaboradorCargo.col_id, colaboradorCargo.crg_id, colaboradorCargo.coc_matricula,
                                                              colaboradorCargo.coc_complementacaoCargaHoraria, colaboradorCargo.coc_vinculoExtra,
                                                              colaboradorCargo.ent_id, colaboradorCargo.uad_id, dao._Banco);

                        //Se já houver um registro de colaborador cargo salvo no banco então só atualiza esse registro
                        if (coc_id > 0)
                        {
                            throw new ArgumentException("O colaborador já possui um cargo nesta unidade");
                        }
                    }

                    //Finaliza a matrícula se a vigência fim informada fo retroativa
                    if (colaboradorCargo.coc_vigenciaFim != new DateTime() && colaboradorCargo.coc_vigenciaFim < DateTime.Now)
                    {
                        colaboradorCargo.coc_situacao = 6;
                    }
                    else
                    {
                        colaboradorCargo.coc_situacao = 1;
                    }

                    colaboradorCargo.coc_dataAlteracao = DateTime.Now;

                    if (!Save(colaboradorCargo, dao._Banco))
                    {
                        throw new ArgumentException("Erro ao salvar o colaborador cargo.");
                    }
                }
            }
            catch (Exception ex)
            {
                dao._Banco.Close(ex);
                throw ex;
            }
            finally
            {
                dao._Banco.Close();
            }
        }