public ResultadoEntidad GuardarSubFamiliaPuesto(SubFamiliaPuestoEntidad SubFamiliaPuestoObjetoEntidad)
        {
            string           CadenaConexion = string.Empty;
            SqlTransaction   Transaccion;
            SqlConnection    Conexion;
            ResultadoEntidad Resultado = new ResultadoEntidad();

            CadenaConexion = SeleccionarConexion(ConstantePrograma.DefensoriaDB_Activos);

            Conexion = new SqlConnection(CadenaConexion);
            Conexion.Open();

            Transaccion = Conexion.BeginTransaction();

            Resultado = InsertarSubFamiliaPuesto(Conexion, Transaccion, SubFamiliaPuestoObjetoEntidad);

            if (Resultado.ErrorId == (int)ConstantePrograma.SubFamilia.SubFamiliaGuardadoCorrectamente)
            {
                Transaccion.Commit();
            }
            else
            {
                Transaccion.Rollback();
            }


            Conexion.Close();

            return(Resultado);
        }
        protected void TablaSubFamiliaPuestoEventoComando(GridViewCommandEventArgs e)
        {
            SubFamiliaPuestoEntidad SubFamiliaPuestoEntidadObjeto = new SubFamiliaPuestoEntidad();
            Int16  intFila         = 0;
            int    intTamañoPagina = 0;
            Int16  PuestoId        = 0;
            string strCommand      = string.Empty;

            intFila         = Int16.Parse(e.CommandArgument.ToString());
            strCommand      = e.CommandName.ToString();
            intTamañoPagina = TablaSubFamilia.PageSize;

            if (intFila >= intTamañoPagina)
            {
                intFila = (Int16)(intFila - (intTamañoPagina * TablaSubFamilia.PageIndex));
            }

            switch (strCommand)
            {
            case "Select":
                PuestoId = Int16.Parse(TablaSubFamilia.DataKeys[intFila]["PuestoId"].ToString());
                SubFamiliaPuestoEntidadObjeto.PuestoId = PuestoId;
                //SubFamiliaIdHidden.Value = PuestoId.ToString();
                //SeleccionarSubFamiliaParaEditar(SubFamiliaEntidadObjeto);
                break;

            default:
                // Do nothing
                break;
            }
        }
        protected void SeleccionarSubFamiliaPuesto()
        {
            ResultadoEntidad        Resultado = new ResultadoEntidad();
            SubFamiliaPuestoEntidad SubFamiliaPuestoObjetoEntidad  = new SubFamiliaPuestoEntidad();
            SubFamiliaPuestoProceso SubFamiliaPuestoProcesoNegocio = new SubFamiliaPuestoProceso();

            Resultado = SubFamiliaPuestoProcesoNegocio.SeleccionarSubFamiliaPuesto(SubFamiliaPuestoObjetoEntidad);

            if (Resultado.ErrorId == 0)
            {
                if (Resultado.ResultadoDatos.Tables[0].Rows.Count == 0)
                {
                    TablaSubFamiliaPuesto.CssClass = ConstantePrograma.ClaseTablaVacia;
                }
                else
                {
                    TablaSubFamiliaPuesto.CssClass = ConstantePrograma.ClaseTabla;
                }

                TablaSubFamiliaPuesto.DataSource = Resultado.ResultadoDatos;
                TablaSubFamiliaPuesto.DataBind();
            }
            else
            {
            }
        }
        protected void SeleccionarSubFamiliaPuestoparaEditar(SubFamiliaPuestoEntidad SubFamiliaPuestoEntidadObjeto)
        {
            ResultadoEntidad Resultado = new ResultadoEntidad();
            CheckBox         chkSeleccionado;

            SubFamiliaPuestoProceso SubFamiliaPuestoProcesoNegocio = new SubFamiliaPuestoProceso();

            Resultado = SubFamiliaPuestoProcesoNegocio.SeleccionarSubFamiliaPuestoEditar(SubFamiliaPuestoEntidadObjeto);

            if (Resultado.ErrorId == 0)
            {
                if (Resultado.ResultadoDatos.Tables[0].Rows.Count == 0)
                {
                    //MostrarMensaje(Resultado.DescripcionError, ConstantePrograma.TipoErrorAlerta);
                }
                else
                {
                    foreach (DataRow Puesto in Resultado.ResultadoDatos.Tables[0].Rows)
                    {
                        foreach (GridViewRow Registro in TablaSubFamiliaPuesto.Rows)
                        {
                            if (TablaSubFamiliaPuesto.DataKeys[Registro.RowIndex]["PuestoId"].ToString() == Puesto["PuestoId"].ToString())
                            {
                                chkSeleccionado         = (CheckBox)Registro.FindControl("AgregarPuesto");
                                chkSeleccionado.Checked = !chkSeleccionado.Checked;
                                break;
                            }
                        }
                    }
                }

                // EtiquetaMensaje.Text = TextoError.ErrorGenerico;
            }
        }
        public ResultadoEntidad SeleccionarSubFamiliaPuestoEditar(SubFamiliaPuestoEntidad SubFamiliaPuestoObjetoEntidad)
        {
            string                 CadenaConexion = string.Empty;
            ResultadoEntidad       Resultado      = new ResultadoEntidad();
            SubFamiliaPuestoAcceso SubFamiliaPuestoAccesoObjeto = new SubFamiliaPuestoAcceso();

            CadenaConexion = SeleccionarConexion(ConstantePrograma.DefensoriaDB_Almacen);

            Resultado = SubFamiliaPuestoAccesoObjeto.SeleccionarSubFamiliaPuestoEditar(SubFamiliaPuestoObjetoEntidad, CadenaConexion);

            return(Resultado);
        }
        protected void AgregarSubFamiliaPuesto(SubFamiliaPuestoEntidad SubFamiliaPuestoObjetoEntidad)
        {
            ResultadoEntidad        Resultado = new ResultadoEntidad();
            SubFamiliaPuestoProceso SubFamiliaPuestoProcesoNegocio = new SubFamiliaPuestoProceso();

            Resultado = SubFamiliaPuestoProcesoNegocio.GuardarSubFamiliaPuesto(SubFamiliaPuestoObjetoEntidad);

            if (Resultado.ErrorId == (int)ConstantePrograma.SubFamilia.SubFamiliaGuardadoCorrectamente)
            {
                //LimpiarFormulario();
                //EtiquetaMensajeExito.Text = TextoError.SubFamiliaTieneRegistrosRelacionados;
            }
            else
            {
                //EtiquetaMensaje.Text = TextoError.ErrorGenerico + ". " + Resultado.DescripcionError;
            }
        }
        protected void AgregarSubFamiliaPuesto()
        {
            SubFamiliaPuestoEntidad SubFamiliaPuestoObjetoEntidad = new SubFamiliaPuestoEntidad();

            if (SubFamiliaPuestoIdHidden.Value != "0")
            {
                SubFamiliaPuestoObjetoEntidad.CadenaPuestoXML = ObtenerCadenaPuestoXML();

                if (SubFamiliaPuestoObjetoEntidad.CadenaPuestoXML != "<row></row>")
                {
                    SubFamiliaPuestoObjetoEntidad.SubFamiliaId = Int16.Parse(SubFamiliaPuestoIdHidden.Value);

                    AgregarSubFamiliaPuesto(SubFamiliaPuestoObjetoEntidad);
                }
                else
                {
                    //LimpiarFormulario();
                }
            }
        }
        public ResultadoEntidad SeleccionarSubFamiliaPuesto(SubFamiliaPuestoEntidad SubFamiliaPuestoEntidadObjeto, string CadenaConexion)
        {
            DataSet          ResultadoDatos = new DataSet();
            SqlConnection    Conexion       = new SqlConnection(CadenaConexion);
            SqlCommand       Comando;
            SqlParameter     Parametro;
            SqlDataAdapter   Adaptador;
            ResultadoEntidad Resultado = new ResultadoEntidad();

            try
            {
                Comando             = new SqlCommand("SeleccionarPuestoProcedimiento", Conexion);
                Comando.CommandType = CommandType.StoredProcedure;

                //Parametro = new SqlParameter("SubFamiliaId", SqlDbType.SmallInt);
                //Parametro.Value = SubFamiliaPuestoEntidadObjeto.SubFamiliaId;
                //Comando.Parameters.Add(Parametro);

                //Parametro = new SqlParameter("FamiliaId", SqlDbType.SmallInt);
                //Parametro.Value = SubFamiliaPuestoEntidadObjeto.FamiliaId;
                //Comando.Parameters.Add(Parametro);

                Adaptador      = new SqlDataAdapter(Comando);
                ResultadoDatos = new DataSet();

                Conexion.Open();
                Adaptador.Fill(ResultadoDatos);
                Conexion.Close();

                Resultado.ResultadoDatos = ResultadoDatos;

                return(Resultado);
            }
            catch (SqlException Excepcion)
            {
                Resultado.ErrorId          = Excepcion.Number;
                Resultado.DescripcionError = Excepcion.Message;

                return(Resultado);
            }
        }
        public ResultadoEntidad InsertarSubFamiliaPuesto(SqlConnection Conexion, SqlTransaction Transaccion, SubFamiliaPuestoEntidad SubFamiliaPuestoEntidadObjeto)
        {
            SqlCommand       Comando;
            SqlParameter     Parametro;
            ResultadoEntidad Resultado = new ResultadoEntidad();

            try
            {
                Comando             = new SqlCommand("InsertarSubFamiliaPuesto", Conexion);
                Comando.CommandType = CommandType.StoredProcedure;

                Comando.Transaction = Transaccion;

                Parametro       = new SqlParameter("SubFamiliaId", SqlDbType.SmallInt);
                Parametro.Value = SubFamiliaPuestoEntidadObjeto.SubFamiliaId;
                Comando.Parameters.Add(Parametro);

                Parametro       = new SqlParameter("CadenaPuestoXML", SqlDbType.Xml);
                Parametro.Value = SubFamiliaPuestoEntidadObjeto.CadenaPuestoXML;
                Comando.Parameters.Add(Parametro);

                Comando.ExecuteNonQuery();

                Resultado.ErrorId = (int)ConstantePrograma.SubFamilia.SubFamiliaGuardadoCorrectamente;

                return(Resultado);
            }
            catch (SqlException sqlEx)
            {
                Resultado.ErrorId          = sqlEx.Number;
                Resultado.DescripcionError = sqlEx.Message;

                return(Resultado);
            }
        }
        public ResultadoEntidad InsertarSubFamiliaPuesto(SqlConnection Conexion, SqlTransaction Transaccion, SubFamiliaPuestoEntidad SubFamiliaPuestoObjetoEntidad)
        {
            ResultadoEntidad       Resultado = new ResultadoEntidad();
            SubFamiliaPuestoAcceso SubFamiliaPuestoAccesoObjeto = new SubFamiliaPuestoAcceso();

            Resultado = SubFamiliaPuestoAccesoObjeto.InsertarSubFamiliaPuesto(Conexion, Transaccion, SubFamiliaPuestoObjetoEntidad);

            return(Resultado);
        }