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); } } }
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(); } }
/// <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(); } }