コード例 #1
0
ファイル: Cadastro.aspx.cs プロジェクト: Mualumene/SGP
    //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;
                        }
                    }
                }
            }
        }
    }
コード例 #2
0
    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);
            }
        }
    }
コード例 #3
0
ファイル: RHU_CargoDAO.cs プロジェクト: Mualumene/SGP
        /// <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;
        }
コード例 #4
0
ファイル: RHU_CargoDAO.cs プロジェクト: Mualumene/SGP
        /// <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();
            }
        }
コード例 #5
0
ファイル: UCCadastroCargo.ascx.cs プロジェクト: Mualumene/SGP
    /// <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;
    }
コード例 #6
0
ファイル: UCCadastroCargo.ascx.cs プロジェクト: Mualumene/SGP
    /// <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;
    }
コード例 #7
0
ファイル: UCCadastroCargo.ascx.cs プロジェクト: Mualumene/SGP
    /// <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);
        }
    }
コード例 #8
0
ファイル: RHU_CargoDAO.cs プロジェクト: Mualumene/SGP
        /// <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);
        }
コード例 #9
0
ファイル: Cadastro.aspx.cs プロジェクト: Mualumene/SGP
    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);
        }
    }
コード例 #10
0
ファイル: Cadastro.aspx.cs プロジェクト: Mualumene/SGP
    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);
        }
    }
コード例 #11
0
ファイル: RHU_CargoDAO.cs プロジェクト: Mualumene/SGP
 /// <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));
 }
コード例 #12
0
ファイル: RHU_CargoDAO.cs プロジェクト: Mualumene/SGP
 /// <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));
 }