/// <summary>
    ///
    /// </summary>
    private void MuestraElemento()
    {
        try
        {
            uint iIdPrefijo = 0;
            //MostrarMenu();

            //            BEliminar.Enabled = PermisoSegunPerfil;

            Configuration config           = WebConfigurationManager.OpenWebConfiguration("~");
            KeyValueConfigurationElement s = config.AppSettings.Settings["Sistema"];
            Session["idsistema"] = s.Value;
            System.Data.DataRow dr = ServiceServiciosCD40.DestinosDeTelefoniaEnElSistema(s.Value).Tables[0].Rows[LBDestinos.SelectedIndex];

            //            BModificar.Enabled = LBDestinos.SelectedIndex != -1;
            //            BModificar.Visible = LBDestinos.SelectedIndex != -1 && PermisoSegunPerfil;

            BEliminar_ConfirmButtonExtender.ConfirmText = String.Format((string)GetGlobalResourceObject("Espaniol", "EliminarDestino"), LBDestinos.SelectedValue);

            //DestinosTelefonia dt = new DestinosTelefonia();
            TBDestino.Text = (string)dr["IdDestino"];

            iIdPrefijo = Convert.ToUInt32(dr["IdPrefijo"]);

            DDLPrefijo.SelectedValue = Convert.ToString((uint)dr["IdPrefijo"]);

            if (iIdPrefijo != 1 && iIdPrefijo != 3)
            {
                LbGrupo.Visible = true;
                TBGrupo.Visible = true;
                if (dr["IdGrupo"] != System.DBNull.Value)
                {
                    TBGrupo.Text = (string)dr["IdGrupo"];

                    if (DDLGrupo.Items.FindByText(TBGrupo.Text) != null)
                    {
                        DDLGrupo.SelectedValue = TBGrupo.Text;
                    }
                }
                else
                {
                    TBGrupo.Text           = "";
                    DDLGrupo.SelectedValue = "-1";
                }
            }
            else
            {
                LbGrupo.Visible        = false;
                TBGrupo.Visible        = false;
                TBGrupo.Text           = "";
                DDLGrupo.SelectedValue = "-1";
            }

            if (dr["IdAbonado"] != System.DBNull.Value)
            {
                TBAbonado.Text = (string)dr["IdAbonado"];
            }
            else
            {
                TBAbonado.Text = "";
            }

            // Buscar recurso asignado al destino
            if (iIdPrefijo == 32)   // PP
            {
                DDLRecursos.Visible       = true;
                LblRecursosLibres.Visible = true;
                LblRecurso.Visible        = true;
                TBRecurso.Visible         = true;
                TBAbonado.Visible         = false;
                Label5.Visible            = false;

                CompletaDDLRecursos(32);

                ServiciosCD40.RecursosTF rt = new ServiciosCD40.RecursosTF();
                rt.IdSistema = (string)Session["idsistema"];
                rt.IdDestino = TBDestino.Text;
                rt.IdPrefijo = 32;

                ServiciosCD40.Tablas[] recurso = ServiceServiciosCD40.ListSelectSQL(rt);
                if (recurso.Length > 0)
                {
                    TBRecurso.Text = ((ServiciosCD40.RecursosTF)recurso[0]).IdRecurso;
                }
                else
                {
                    DDLRecursos.SelectedIndex = 0;
                    TBRecurso.Text            = "";
                }
            }
            else
            if (iIdPrefijo == 1)     // LCEN
            {
                DDLRecursos.Visible       = true;
                LblRecurso.Visible        = true;
                LblRecursosLibres.Visible = true;
                TBRecurso.Visible         = true;
                TBAbonado.Visible         = false;
                Label5.Visible            = false;

                CompletaDDLRecursos(1);

                ServiciosCD40.RecursosLCEN rt = new ServiciosCD40.RecursosLCEN();
                rt.IdSistema = (string)Session["idsistema"];
                rt.IdDestino = TBDestino.Text;
                rt.IdPrefijo = 1;

                ServiciosCD40.Tablas[] recurso = ServiceServiciosCD40.ListSelectSQL(rt);
                if (recurso.Length > 0)
                {
                    TBRecurso.Text = ((ServiciosCD40.RecursosLCEN)recurso[0]).IdRecurso;
                }
                else
                {
                    DDLRecursos.SelectedIndex = 0;
                    TBRecurso.Text            = "";
                }
            }
            else
            {
                TBAbonado.Visible               = true;
                Label5.Visible                  = true;
                DDLRecursos.Visible             = false;
                LblRecursosLibres.Visible       = false;
                LblRecurso.Visible              = false;
                TBRecurso.Visible               = false;
                RequiredFieldValidator3.Enabled = false;
            }
        }
        catch (Exception ex)
        {
            logDebugView.Error("(DestinosTelefonia-LBDestinos_IndexChanged):", ex);
        }
    }
    /// <summary>
    ///
    /// </summary>
    private void EliminarElemento(bool forced)
    {
        if (LBDestinos.SelectedIndex >= 0 && Session["idsistema"] != null)
        {
            ServiciosCD40.Destinos d = new ServiciosCD40.Destinos();

            uint   iPrefijo   = Convert.ToUInt32(DDLPrefijo.SelectedValue);
            string strSistema = string.Empty;
            System.Text.StringBuilder strMsg = new System.Text.StringBuilder();

            strSistema = (string)Session["idsistema"];

            d.IdSistema   = strSistema;
            d.IdDestino   = TBDestino.Text;
            d.TipoDestino = 1;

            if (iPrefijo == 1 && DestinoLCENAsignadoPanelLC(strSistema, TBDestino.Text, iPrefijo, ref strMsg))
            {
                cMsg.confirm(strMsg.ToString(), "aceptparam");
                return;
            }

            if (forced || !DestinoAsignadoATft(strSistema, TBDestino.Text))
            {
                // Liberar el destino del recurso
                if (iPrefijo == 1)   // Si el destino es LCEN
                {
                    ServiciosCD40.RecursosLCEN rLc = new ServiciosCD40.RecursosLCEN();
                    rLc.IdSistema   = (string)Session["idsistema"];
                    rLc.IdDestino   = TBDestino.Text;
                    rLc.TipoDestino = 1;
                }
                else if (iPrefijo >= 32)
                {
                    ServiciosCD40.RecursosTF rTf = new ServiciosCD40.RecursosTF();
                    rTf.IdSistema   = (string)Session["idsistema"];
                    rTf.IdDestino   = TBDestino.Text;
                    rTf.TipoDestino = 1;
                }

                if (ServiceServiciosCD40.DeleteSQL(d) < 0)
                {
                    logDebugView.Warn("(DestinosTelefonia-EliminarElemento): No se han borrado los elementos(DeleteSQL)");
                }
                else
                {
                    //Comprobamos si todavía existe el destino de telefonía
                    //En alguna ocasión, me he entrado el destino de telefonía sin el destino correspondiente configurado
                    //Por esta razón, si el registro de la tabla destinostelefonía sigue existiendo se elimina.
                    ServiciosCD40.DestinosTelefonia destTelf = new ServiciosCD40.DestinosTelefonia();
                    destTelf.IdSistema   = (string)Session["idsistema"];
                    destTelf.IdDestino   = TBDestino.Text;
                    destTelf.TipoDestino = 1;
                    destTelf.IdPrefijo   = iPrefijo;

                    ServiciosCD40.Tablas[] lista = ServiceServiciosCD40.ListSelectSQL(destTelf);

                    if (lista != null && lista.Length > 0)
                    {
                        //Borramos el destino
                        ServiceServiciosCD40.DeleteSQL(destTelf);
                    }
                }


                #region Sincroniza CD30
                Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
                KeyValueConfigurationElement sincronizar = config.AppSettings.Settings["SincronizaCD30"];
                if ((sincronizar != null) && (Int32.Parse(sincronizar.Value) == 1))
                {
                    SincronizaCD30.SincronizaCD30 sincro = new SincronizaCD30.SincronizaCD30();
                    int prefijoRed = 0;
                    switch (Convert.ToUInt32(DDLPrefijo.SelectedValue))
                    {
                    case 1:    //LCEN
                        prefijoRed = 2;
                        break;

                    case 32:    //PP
                        prefijoRed = 5;
                        break;

                    case 3:    //ATS
                        prefijoRed = 3;
                        break;

                    case 8:
                        prefijoRed = 8;
                        break;

                    case 9:
                        prefijoRed = 9;
                        break;

                    default:
                        break;
                    }
                    if (prefijoRed != 0)
                    {
                        switch (sincro.BajaDestino(TBDestino.Text, prefijoRed))
                        {
                        case 127:
                            cMsg.alert((string)GetGlobalResourceObject("Espaniol", "Cod127"));
                            break;

                        case 128:
                            cMsg.alert((string)GetGlobalResourceObject("Espaniol", "Cod128"));
                            break;

                        default:
                            break;
                        }
                    }
                }
                #endregion

                NuevoDestino(false);
                MuestraDatos();

                // Regenerar todas las sectorizaciones excepto la activa porque puede que este destino
                // estuviera presente en alguna sectorización
                ServiceServiciosCD40.BeginRegeneraSectorizaciones((string)Session["idsistema"], true, true, true, CallbackCompletado, null);
            }
            else
            {
                cMsg.confirm((string)GetGlobalResourceObject("Espaniol", "PanelesConDestinoAsignado"), "SoloEliminaDeTFT");
            }
        }
    }