//Carrega as disciplinas do cargo public void CarregarDisciplinas(RHU_Cargo cargo) { odsDisciplinas.SelectParameters.Clear(); odsDisciplinas.SelectParameters.Add("ent_id", __SessionWEB.__UsuarioWEB.Usuario.ent_id.ToString()); odsDisciplinas.SelectParameters.Add("AppMinutosCacheLongo", ApplicationWEB.AppMinutosCacheLongo.ToString()); // Forçar atualização do checkboxList cblDisciplinasPossiveis.DataBind(); if (cargo.crg_cargoDocente) { if (!cargo.crg_especialista) { List <RHU_CargoDisciplina> listDis = new List <RHU_CargoDisciplina>(); listDis = RHU_CargoDisciplinaBO.RetornaDisciplinasCargo(cargo.crg_id); if (listDis.Count > 0) { foreach (ListItem li in cblDisciplinasPossiveis.Items) { int tds_id = Convert.ToInt32(li.Value); if (listDis.Exists(p => p.tds_id == tds_id)) { li.Selected = true; } } } } } }
protected void _dgvCargo_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Deletar") { try { int index = int.Parse(e.CommandArgument.ToString()); int crg_id = Convert.ToInt32(_dgvCargo.DataKeys[index].Value); RHU_Cargo entity = new RHU_Cargo { crg_id = crg_id }; RHU_CargoBO.GetEntity(entity); if (RHU_CargoBO.Delete(entity)) { _dgvCargo.PageIndex = 0; _dgvCargo.Sort("", SortDirection.Ascending); _dgvCargo.DataBind(); ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "crg_id: " + crg_id); _lblMessage.Text = UtilBO.GetErroMessage("Cargo 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 cargo.", UtilBO.TipoMensagem.Erro); } } }
/// <summary> /// Parâmetros para efetuar a alteração preservando a data de criação /// </summary> protected override void ParamAlterar(QueryStoredProcedure qs, RHU_Cargo entity) { base.ParamAlterar(qs, entity); qs.Parameters["@crg_descricao"].DbType = DbType.String; qs.Parameters.RemoveAt("@crg_dataCriacao"); qs.Parameters["@crg_dataAlteracao"].Value = DateTime.Now; }
/// <summary> /// Seleciona determinado cargo pelo código. /// </summary> /// <param name="entity">Entidade cargo</param> /// <returns>True = encontrou cargo com o código / False = não encontrou cargo com o código</returns> public bool SelectBy_Codigo(RHU_Cargo entity) { QuerySelectStoredProcedure qs = new QuerySelectStoredProcedure("NEW_RHU_Cargo_SelectBy_Codigo", _Banco); try { #region PARAMETROS Param = qs.NewParameter(); Param.DbType = DbType.Int32; Param.ParameterName = "@crg_id"; Param.Size = 4; if (entity.crg_id > 0) { Param.Value = entity.crg_id; } else { Param.Value = DBNull.Value; } qs.Parameters.Add(Param); Param = qs.NewParameter(); Param.DbType = DbType.AnsiString; Param.ParameterName = "@crg_codigo"; Param.Size = 20; Param.Value = entity.crg_codigo; qs.Parameters.Add(Param); Param = qs.NewParameter(); Param.DbType = DbType.Guid; Param.ParameterName = "@ent_id"; Param.Size = 16; Param.Value = entity.ent_id; qs.Parameters.Add(Param); #endregion qs.Execute(); if (qs.Return.Rows.Count == 1) { DataRowToEntity(qs.Return.Rows[0], entity, false); return(true); } return(false); } catch { throw; } finally { qs.Parameters.Clear(); } }
/// <summary> /// Carrega o combo de carga horária. /// </summary> /// <param name="cargo">Entidade do cargo</param> public void ComboCargaHorariaCarregar(RHU_Cargo cargo) { bool controlarCargaHorariaDocente = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.CONTROLAR_CARGA_HORARIA_DOCENTE , __SessionWEB.__UsuarioWEB.Usuario.ent_id); UCComboCargaHoraria1.Obrigatorio = cargo.crg_cargoDocente && controlarCargaHorariaDocente; UCComboCargaHoraria1.CarregarCargaHoraria(cargo.crg_id, cargo.crg_especialista); UCComboCargaHoraria1.PermiteEditar = UCComboCargo1.Valor > 0; }
/// <summary> /// Carrega as disciplinas. /// </summary> /// <param name="crg_id">ID do cargo</param> /// <param name="coc_id">ID do COC</param> /// <param name="col_id"></param> public void CarregarDisciplinas(int crg_id, int coc_id, long col_id) { RHU_Cargo cargo = new RHU_Cargo { crg_id = crg_id }; RHU_CargoBO.GetEntity(cargo); fsDisciplinas.Visible = cargo.crg_cargoDocente && !cargo.crg_especialista; if (VS_IsDocente) { DataTable dtTipoDisciplina = RHU_CargoDisciplinaBO.SelecionaCargoDisciplinaByCrgId(cargo.crg_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id); if (dtTipoDisciplina.Rows.Count > 0) { cblDisciplinasPossiveis.DataSourceID = string.Empty; cblDisciplinasPossiveis.DataSource = dtTipoDisciplina; } else { List <sTipoDisciplina> lstTipoDisciplina = ACA_TipoDisciplinaBO.SelecionaTipoDisciplina(__SessionWEB.__UsuarioWEB.Usuario.ent_id); cblDisciplinasPossiveis.DataSource = lstTipoDisciplina; } } else { List <sTipoDisciplina> lstTipoDisciplina = ACA_TipoDisciplinaBO.SelecionaTipoDisciplina(__SessionWEB.__UsuarioWEB.Usuario.ent_id); cblDisciplinasPossiveis.DataSource = lstTipoDisciplina; } cblDisciplinasPossiveis.DataBind(); if (cargo.crg_cargoDocente) { if (!cargo.crg_especialista) { foreach (ListItem li in cblDisciplinasPossiveis.Items) { int tds_id = Convert.ToInt32(li.Value); // Encontra linha pela chave primaria da tabela. var x = from DataRow dr in _VS_cargosDisciplinas.Rows where dr.RowState != DataRowState.Deleted && Convert.ToInt32(dr["crg_id"]) == crg_id && Convert.ToInt32(dr["coc_id"]) == coc_id && Convert.ToInt32(dr["tds_id"]) == tds_id select dr; li.Selected = x.Count() > 0; } } } VS_col_id = col_id; }
/// <summary> /// Evento IndexChanged do Combo de cargos. /// </summary> private void SelecionarCargo() { try { if (UCComboCargo1.Valor > 0) { RHU_Cargo cargo = new RHU_Cargo { crg_id = UCComboCargo1.Valor }; RHU_CargoBO.GetEntity(cargo); if (VS_IsDocente) { DataTable dtTipoDisciplina = RHU_CargoDisciplinaBO.SelecionaCargoDisciplinaByCrgId(cargo.crg_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id); if (dtTipoDisciplina.Rows.Count > 0) { cblDisciplinasPossiveis.DataSourceID = string.Empty; cblDisciplinasPossiveis.DataSource = dtTipoDisciplina; } else { List <sTipoDisciplina> lstTipoDisciplina = ACA_TipoDisciplinaBO.SelecionaTipoDisciplina(__SessionWEB.__UsuarioWEB.Usuario.ent_id); cblDisciplinasPossiveis.DataSource = lstTipoDisciplina; } } else { List <sTipoDisciplina> lstTipoDisciplina = ACA_TipoDisciplinaBO.SelecionaTipoDisciplina(__SessionWEB.__UsuarioWEB.Usuario.ent_id); cblDisciplinasPossiveis.DataSource = lstTipoDisciplina; } cblDisciplinasPossiveis.DataBind(); if (cargo.crg_cargoDocente) { fsDisciplinas.Visible = !cargo.crg_especialista; } else { fsDisciplinas.Visible = false; } ComboCargaHorariaCarregar(cargo); } else { UCComboCargaHoraria1.Valor = -1; UCComboCargaHoraria1.PermiteEditar = false; } } catch (Exception ex) { throw new Exception(ex.Message); } }
/// <summary> /// Parâmetros para efetuar a exclusão lógica. /// </summary> protected override void ParamDeletar(QueryStoredProcedure qs, RHU_Cargo entity) { Param = qs.NewParameter(); Param.DbType = DbType.Int32; Param.ParameterName = "@crg_id"; Param.Size = 4; Param.Value = entity.crg_id; qs.Parameters.Add(Param); Param = qs.NewParameter(); Param.DbType = DbType.Byte; Param.ParameterName = "@crg_situacao"; Param.Size = 1; Param.Value = 3; qs.Parameters.Add(Param); Param = qs.NewParameter(); Param.DbType = DbType.DateTime; Param.ParameterName = "@crg_dataAlteracao"; Param.Size = 8; Param.Value = DateTime.Now; qs.Parameters.Add(Param); }
private void _LoadFromEntity(int crg_id) { try { RHU_Cargo Cargo = new RHU_Cargo { crg_id = crg_id }; RHU_CargoBO.GetEntity(Cargo); CarregarDisciplinas(Cargo); if (Cargo.ent_id != __SessionWEB.__UsuarioWEB.Usuario.ent_id) { __SessionWEB.PostMessages = UtilBO.GetErroMessage("O cargo não pertence à entidade na qual você está logado.", UtilBO.TipoMensagem.Alerta); Response.Redirect("Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } _VS_crg_id = Cargo.crg_id; _UCComboTipoVinculo.Valor = Cargo.tvi_id; _UCComboTipoVinculo.PermiteEditar = false; _ckbCargoDocente.Enabled = false; _ckbEspecialista.Enabled = false; _txtNome.Text = Cargo.crg_nome; _txtCodigo.Text = Cargo.crg_codigo; _txtDescricao.Text = Cargo.crg_descricao; _txtCodIntegracao.Text = Cargo.crg_codIntegracao; _txtMaxAulaSemana.Text = Cargo.crg_maxAulaSemana.ToString(); _txtMaxAulaDia.Text = Cargo.crg_maxAulaDia.ToString(); ckbControleIntegracao.Checked = Cargo.crg_controleIntegracao; ddlTipo.SelectedValue = Cargo.crg_tipo.ToString(); if (!string.IsNullOrEmpty(Cargo.pgs_chave)) { if (UCComboParametroGrupoPerfil1.ExisteItem(Cargo.pgs_chave)) { UCComboParametroGrupoPerfil1.Valor = Cargo.pgs_chave; } } _ckbBloqueado.Visible = true; _ckbBloqueado.Checked = !Cargo.crg_situacao.Equals(1); if (Cargo.crg_cargoDocente.Equals(false)) { _ckbCargoDocente.Checked = false; divDisciplinas.Visible = false; } else { _ckbCargoDocente.Checked = true; if (_txtMaxAulaDia.Text == "0") { _txtMaxAulaDia.Text = string.Empty; } if (_txtMaxAulaSemana.Text == "0") { _txtMaxAulaSemana.Text = string.Empty; } divDisciplinas.Visible = true; divCargoDocente.Visible = true; _ckbEspecialista.Visible = true; if (Cargo.crg_especialista.Equals(true)) { _ckbEspecialista.Checked = true; divDisciplinas.Visible = false; } else { divDisciplinas.Visible = true; } if (GestaoEscolarUtilBO.VerificarIntegridade("crg_id", _VS_crg_id.ToString(), "RHU_Cargo", null)) { _txtMaxAulaDia.Enabled = false; _txtMaxAulaSemana.Enabled = false; } else { _txtMaxAulaDia.Enabled = true; _txtMaxAulaSemana.Enabled = true; } } } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o cargo.", UtilBO.TipoMensagem.Erro); } }
public void Salvar() { try { if (_ckbCargoDocente.Checked) { if (!string.IsNullOrEmpty(_txtMaxAulaDia.Text) && (Convert.ToInt32(_txtMaxAulaDia.Text) > 24)) { throw new ArgumentException("Máximo de aulas por dia não pode ser maior do que 24."); } if (!string.IsNullOrEmpty(_txtMaxAulaSemana.Text) && (Convert.ToInt32(_txtMaxAulaSemana.Text) > 168)) { throw new ArgumentException("Máximo de aulas por semana não pode ser maior do que 168."); } } RHU_Cargo Cargo = new RHU_Cargo { crg_id = _VS_crg_id , crg_nome = _txtNome.Text , crg_codigo = _txtCodigo.Text , crg_descricao = _txtDescricao.Text , crg_codIntegracao = _txtCodIntegracao.Text , tvi_id = _UCComboTipoVinculo.Valor , ent_id = __SessionWEB.__UsuarioWEB.Usuario.ent_id , crg_maxAulaSemana = Convert.ToByte(string.IsNullOrEmpty(_txtMaxAulaSemana.Text) ? "0" : _txtMaxAulaSemana.Text) , crg_maxAulaDia = Convert.ToByte(string.IsNullOrEmpty(_txtMaxAulaDia.Text) ? "0" : _txtMaxAulaDia.Text) , crg_cargoDocente = _ckbCargoDocente.Checked , crg_especialista = _ckbEspecialista.Checked , pgs_chave = UCComboParametroGrupoPerfil1.Valor == "-1" ? string.Empty : UCComboParametroGrupoPerfil1.Valor , crg_situacao = Convert.ToByte(_ckbBloqueado.Checked ? 2 : 1) , crg_tipo = Convert.ToByte(ddlTipo.SelectedValue) , crg_controleIntegracao = ckbControleIntegracao.Checked , IsNew = (_VS_crg_id > 0) ? false : true }; //Lista para salvar as disciplinas do cargo List <RHU_CargoDisciplina> listDis = new List <RHU_CargoDisciplina>(); if (fsDisciplinas.Visible) { foreach (ListItem li in cblDisciplinasPossiveis.Items) { if (li.Selected) { RHU_CargoDisciplina entityDis = new RHU_CargoDisciplina { tds_id = Convert.ToInt32(li.Value) }; listDis.Add(entityDis); } } } if (RHU_CargoBO.Save(Cargo, listDis)) { if (_VS_crg_id <= 0) { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "crg_id: " + Cargo.crg_id); __SessionWEB.PostMessages = UtilBO.GetErroMessage("Cargo incluído com sucesso.", UtilBO.TipoMensagem.Sucesso); } else { ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "crg_id: " + Cargo.crg_id); __SessionWEB.PostMessages = UtilBO.GetErroMessage("Cargo alterado com sucesso.", UtilBO.TipoMensagem.Sucesso); } Response.Redirect("Busca.aspx", false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } else { _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o cargo.", UtilBO.TipoMensagem.Erro); } } catch (MSTech.Validation.Exceptions.ValidationException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (ArgumentException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (DuplicateNameException ex) { _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta); } catch (Exception ex) { ApplicationWEB._GravaErro(ex); _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o cargo." + ex.Message, UtilBO.TipoMensagem.Erro); } }
/// <summary> /// Método alterado para que o delete não faça exclusão física e sim lógica (update). /// </summary> /// <param name="entity"> Entidade RHU_Cargo</param> /// <returns>true = sucesso | false = fracasso</returns> public override bool Delete(RHU_Cargo entity) { __STP_DELETE = "NEW_RHU_Cargo_UPDATE_Situacao"; return(base.Delete(entity)); }
/// <summary> /// Método alterado para que o update não faça a alteração da data de criação /// </summary> /// <param name="entity"> Entidade RHU_Cargo</param> /// <returns>true = sucesso | false = fracasso</returns> protected override bool Alterar(RHU_Cargo entity) { __STP_UPDATE = "NEW_RHU_Cargo_UPDATE"; return(base.Alterar(entity)); }