예제 #1
0
    private void EliminarElemento(bool forced)
    {
        // Liberar el destino del recurso
        ServiciosCD40.RecursosRadio rD = new ServiciosCD40.RecursosRadio();
        rD.IdSistema   = (string)Session["idsistema"];
        rD.IdDestino   = ListBox1.SelectedValue;
        rD.TipoDestino = 0;
        //ServicioCD40.LiberaDestinoDeRecurso(rD);

        ServiciosCD40.Destinos n = new ServiciosCD40.Destinos();
        n.IdSistema   = (string)Session["idsistema"];
        n.IdDestino   = ListBox1.SelectedValue;
        n.TipoDestino = 0;

        //if (ServicioCD40.DeleteSQL(n) > 0)

        if (forced || !DestinoAsignadoATft(ListBox1.SelectedValue))
        {
            if (ServicioCD40.EliminaDestino(n, rD))
            {
                Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
                KeyValueConfigurationElement sincronizar = config.AppSettings.Settings["SincronizaCD30"];
                if ((sincronizar != null) && (Int32.Parse(sincronizar.Value) == 1))
                {
                    SincronizaCD30.SincronizaCD30 sincro = new SincronizaCD30.SincronizaCD30();
                    sincro.BajaFrecuencia(n.IdDestino, true);
                }

                MuestraDatos(DameDatos());

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