void SelectVozNivel3()
        {
            BPVocesSenaladas oBPVocesSenaladas = new BPVocesSenaladas();

            oBPVocesSenaladas.VocesSenaladasEntity.VozIdPadrePrimerNivel = Convert.ToInt32(ddlVocesTemporal_Nivel1.SelectedValue);
            oBPVocesSenaladas.VocesSenaladasEntity.VozIdPadreSegundoNivel = Convert.ToInt32(ddlVocesTemporal_Nivel2.SelectedValue);

            oBPVocesSenaladas.SelectNivelesVoces();

            if (oBPVocesSenaladas.ErrorId == 0)
            {
                if (oBPVocesSenaladas.VocesSenaladasEntity.dsResponse.Tables[2].Rows.Count > 0)
                {
                    ddlVocesTemporal_Nivel3.DataSource = oBPVocesSenaladas.VocesSenaladasEntity.dsResponse.Tables[2];
                    ddlVocesTemporal_Nivel3.DataTextField = "Nombre";
                    ddlVocesTemporal_Nivel3.DataValueField = "VozId";
                    ddlVocesTemporal_Nivel3.DataBind();
                }
            }
        }
        void BorrarVoz(int SolicitudId, int AutoridadId, int VozId)
        {
            BPVocesSenaladas oBPVocesSenaladas = new BPVocesSenaladas();
            ENTVocesSenaladas oENTVocesSenaladas = new ENTVocesSenaladas();
            ENTResponse oENTResponse = new ENTResponse();

            try
            {
                // Formulario
                oENTVocesSenaladas.SolicitudId = SolicitudId;
                oENTVocesSenaladas.AutoridadId = AutoridadId;
                oENTVocesSenaladas.VozId = VozId;

                //Transacción
                oENTResponse = oBPVocesSenaladas.DeleteSolicitudAutoridadVoces(oENTVocesSenaladas);

                //Validaciones
                if (oENTResponse.GeneratesException) { throw new Exception(oENTResponse.sErrorMessage); }
                if (oENTResponse.sMessage != "") { throw new Exception(oENTResponse.sMessage); }

                // Recargar grid del listado de autoridades asociadas al expediente
                LlenarGridAutoridades(SolicitudId);

                // Recargar grid de Voces
                LlenarGridVoces_Temporal(SolicitudId, AutoridadId);

            }catch (Exception ex){
                throw (ex);
            }
        }
        void ComboVocesTemporalPrimerNivel()
        {
            BPVocesSenaladas oBPVocesSenaladas = new BPVocesSenaladas();

            oBPVocesSenaladas.VocesSenaladasEntity.VozIdPadrePrimerNivel = 0;
            oBPVocesSenaladas.VocesSenaladasEntity.VozIdPadreSegundoNivel = 0;

            oBPVocesSenaladas.SelectNivelesVoces();

            if (oBPVocesSenaladas.ErrorId == 0)
            {
                if (oBPVocesSenaladas.VocesSenaladasEntity.dsResponse.Tables[0].Rows.Count > 0)
                {
                    ddlVocesTemporal_Nivel1.DataSource = oBPVocesSenaladas.VocesSenaladasEntity.dsResponse.Tables[0];
                    ddlVocesTemporal_Nivel1.DataTextField = "Nombre";
                    ddlVocesTemporal_Nivel1.DataValueField = "VozId";
                    ddlVocesTemporal_Nivel1.DataBind();
                }
            }
        }
        void AgregarVoz(int SolicitudId, int AutoridadId)
        {
            BPVocesSenaladas oBPVocesSenaladas = new BPVocesSenaladas();
            ENTVocesSenaladas oENTVocesSenaladas = new ENTVocesSenaladas();
            ENTResponse oENTResponse = new ENTResponse();

            Int32 VozId = 0;

            try
            {

                // Validaciones
                if (this.ddlVocesTemporal_Nivel1.SelectedValue == "0") { throw new Exception("Debe elegir una voz señalada de primer nivel"); }
                if (this.ddlVocesTemporal_Nivel2.SelectedValue == "0") { throw new Exception("Debe elegir una voz señalada de segundo nivel"); }
                if (this.ddlVocesTemporal_Nivel3.SelectedValue == "0") { throw new Exception("Debe elegir una voz señalada de tercer nivel"); }

                // Determinar la última voz seleccionada
                VozId = Convert.ToInt32(this.ddlVocesTemporal_Nivel1.SelectedValue);
                if (this.ddlVocesTemporal_Nivel2.SelectedIndex > 0) { VozId = Convert.ToInt32(this.ddlVocesTemporal_Nivel2.SelectedValue); }
                if (this.ddlVocesTemporal_Nivel3.SelectedIndex > 0) { VozId = Convert.ToInt32(this.ddlVocesTemporal_Nivel3.SelectedValue); }

                // Formulario
                oENTVocesSenaladas.SolicitudId = SolicitudId;
                oENTVocesSenaladas.AutoridadId = AutoridadId;
                oENTVocesSenaladas.VozId = VozId;
                oENTVocesSenaladas.Comentarios = this.txtVocesTemporal_Comentarios.Text.Trim();

                //Transacción
                oENTResponse = oBPVocesSenaladas.InsertSolicitudAutoridadVoces(oENTVocesSenaladas);

                //Validaciones
                if (oENTResponse.GeneratesException) { throw new Exception(oENTResponse.sErrorMessage); }
                if (oENTResponse.sMessage != "") { throw new Exception(oENTResponse.sMessage); }

                // Refrescar Grid
                LlenarGridVoces_Temporal(SolicitudId, AutoridadId);

            }catch (Exception ex){
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), Convert.ToString(Guid.NewGuid()), "focusControl('" + this.ddlVocesTemporal_Nivel1.ClientID + "');", true);
                throw (ex);
            }
        }