Exemple #1
0
    private void EliminaDestinoDeTFT()
    {
        ServiciosCD40.DestinosRadioSector drs = new ServiciosCD40.DestinosRadioSector();
        drs.IdSistema = s.Value;
        drs.IdDestino = ListBox1.SelectedValue;

        // Eliminar de todos los TFT el destino
        ServicioCD40.DeleteSQL(drs);
    }
    /// VMG 13/03/2019
    /// <summary>
    /// Distribuye el alias a todos los sectores que tengan asignado dicho destino
    /// </summary>
    /// <param name="sistema"></param>
    /// <param name="destino"></param>
    /// <param name="nucleo"></param>
    /// <param name="alias"></param>
    private void DistribuyeAlias2Sectores(string sistema, string destino, string nucleo, string alias)
    {
        ServiciosCD40.DestinosRadioSector drs = new ServiciosCD40.DestinosRadioSector();
        drs.IdSistema = sistema;
        drs.IdDestino = destino;
        drs.IdNucleo  = nucleo;
        drs.Literal   = alias;
        drs.PosHMI    = 0;//Mandamos cero para no entrar en otro update
        //Se comprueba en el update que el sector se mande null

        ServicioCD40.UpdateSQL(drs);
    }
    private void DesasignarDestino(string id)
    {
        try
        {
            Button  ibut = (Button)TEnlacesRadio.FindControl(id);
            TextBox tbox = (TextBox)TEnlacesRadio.FindControl("TextBox" + id.Replace("Button", ""));
            if (ibut != null && ibut.CssClass == "BtnPanelRadioAsignado")
            {
                uint posicion = CalculatePosHmi(UInt16.Parse(id.Replace("Button", "")));
                ServiciosCD40.DestinosRadioSector elemento = (ServiciosCD40.DestinosRadioSector) Array.Find(datosRadio,
                                                                                                            delegate(object d) { return(((ServiciosCD40.DestinosRadioSector)d).PosHMI == posicion); });

                if (elemento != null)
                {
                    if (ServicioCD40.DeleteSQL(elemento) < 0)
                    {
                        logDebugView.Warn("(TFTRadio-DesasignarDestino): No se ha podido desasignar el destino");
                    }
                    else
                    {
                        #region Sincronizar 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();

                            switch (sincro.BajaColateralRadio(elemento.IdNucleo, elemento.PosHMI, elemento.IdSector))
                            {
                            case 127:
                                cMsg.alert((string)GetGlobalResourceObject("Espaniol", "Cod127"));
                                break;

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

                            default:
                                break;
                            }
                        }
                        #endregion
                    }
                }
            }
        }
        catch (Exception ex)
        {
            logDebugView.Error("(TFTRadio-DesasignarDestino): ", ex);
        }
    }
Exemple #4
0
    private bool DestinoAsignadoATft(string destino)
    {
        ServiciosCD40.DestinosRadioSector drs = new ServiciosCD40.DestinosRadioSector();
        drs.IdSistema = s.Value;
        drs.IdDestino = destino;

        ServiciosCD40.Tablas[] lista = ServicioCD40.ListSelectSQL(drs);

        if (lista != null && lista.Length > 0)
        {
            return(true);
        }

        return(false);
    }
    private void ActualizaParametrosFrecuencia(string idDestino)
    {
        ServiciosCD40.DestinosRadioSector t = new ServiciosCD40.DestinosRadioSector();
        t.IdSistema            = (string)Session["idsistema"];
        t.IdSector             = (string)Session["NombreSector"];
        t.IdNucleo             = (string)Session["idnucleo"];
        t.IdDestino            = idDestino;
        t.PosHMI               = 0; // Quiero que actualice el estado de los parámetros para todas las posiciones de esta frecuencia
        t.TipoDestino          = 0;
        t.Literal              = TBoxLiteral.Text;
        t.Cascos               = DListCascos.SelectedValue;
        t.ModoOperacion        = DListModoOpe.SelectedValue;
        t.Prioridad            = Convert.ToUInt32(DListPrioridadTecla.SelectedValue);
        t.PrioridadSIP         = Convert.ToUInt32(DListPrioridadSIP.SelectedValue);
        t.SupervisionPortadora = CBSupervisionPortadora.Checked;

        ServicioCD40.UpdateSQL(t);
    }
    private void AsignarDestino(string id)
    {
        Button ibut = (Button)TEnlacesRadio.FindControl(id);

        //if (ibut.ImageUrl == "~/Configuracion/Images/BotonEnlaceExternoAs.jpg")
        if (ibut.CssClass != "BtnPanelRadioAsignado")
        {
            DesasignarDestino(id);
        }

        uint posicion = CalculatePosHmi(UInt16.Parse(id.Replace("Button", "")));

        ServiciosCD40.DestinosRadioSector elemento = (ServiciosCD40.DestinosRadioSector) Array.Find(datosRadio,
                                                                                                    delegate(object d) { return(((ServiciosCD40.DestinosRadioSector)d).PosHMI == posicion); });

        if (elemento != null)
        {
            TBoxLiteral.Text = elemento.Literal;
            TBoxDestino.Text = elemento.IdDestino;
        }
        else
        {
            TBoxLiteral.Text = (string)ViewState["IdDestino"];
            TBoxDestino.Text = (string)ViewState["IdDestino"];
        }


        DListPrioridadSIP.SelectedIndex = 0;
        //TBoxLiteral.Text = id;
        Panel2.Visible = true;
        MostrarElementosPanel(TBoxLiteral.Text);
        CargaRecursos(elemento != null ? elemento.IdDestino : (string)ViewState["IdDestino"]);

        //MVO-20170710: Se oculta la tabla de recursos y se mantienen los valores por defecto. Todos los recursos marcados
        // Por defecto, todos los recursos quedan seleccionados
        //if (GViewEstado.Visible && GViewEstado.Rows.Count > 0)
        if (GViewEstado.Rows.Count > 0)
        {
            foreach (GridViewRow row in GViewEstado.Rows)
            {
                ((CheckBox)row.Cells[0].FindControl("DListEstados")).Checked = true;
            }
        }
    }
    protected void BtModificar_Click(object sender, EventArgs e)
    {
        EsconderPanelOpciones();

        Modificando = true;

        string  id   = (string)ViewState["IdBoton"];
        TextBox tbox = (TextBox)TEnlacesRadio.FindControl("TextBox" + id.Replace("Button", ""));

        uint posicion = CalculatePosHmi(UInt16.Parse(id.Replace("Button", "")));

        ServiciosCD40.DestinosRadioSector elemento = (ServiciosCD40.DestinosRadioSector) Array.Find(datosRadio,
                                                                                                    delegate(object d) { return(((ServiciosCD40.DestinosRadioSector)d).PosHMI == posicion); });
        //ServiciosCD40.DestinosRadioSector elemento = (ServiciosCD40.DestinosRadioSector)Array.Find(datosRadio,
        //            delegate(object d) { return ((ServiciosCD40.DestinosRadioSector)d).PosHMI == Convert.ToUInt32(id.Replace("Button", "")); });
        if (elemento != null)
        {
            MuestraOpcionesFrecuencia(tbox.Text, elemento.IdDestino);
        }
    }
    //private void ActualizaDatosAltavoces(string id)
    //{
    //    ServiciosCD40.Altavoces altavoz = new ServiciosCD40.Altavoces();
    //    altavoz.IdSistema = (string)Session["idsistema"];
    //    altavoz.IdSector = (string)Session["NombreSector"];
    //    altavoz.IdNucleo = (string)Session["idnucleo"];
    //    altavoz.IdDestino = id;
    //    altavoz.PosHMI = UInt16.Parse(((string)ViewState["IdBoton"]).Replace("Button", "")) +
    //                            (uint)((numPagActual - 1) * NumPosicionesPag);
    //    altavoz.TipoDestino = 0;

    //    for (int i = 0; i < 7; i++)
    //    {
    //        altavoz.NumAltavoz = (uint)(i + 1);
    //        altavoz.Estado = ((DropDownList)Table1.FindControl("DropDownList" + (i + 1).ToString())).SelectedValue;
    //        ServicioCD40.UpdateSQL(altavoz);
    //    }
    //}

    private void ActualizaDatosPosicion(string id)
    {
        ServiciosCD40.DestinosRadioSector t = new ServiciosCD40.DestinosRadioSector();
        t.IdSistema            = (string)Session["idsistema"];
        t.IdSector             = (string)Session["NombreSector"];
        t.IdNucleo             = (string)Session["idnucleo"];
        t.IdDestino            = id;
        t.PosHMI               = CalculatePosHmi(UInt16.Parse(((string)ViewState["IdBoton"]).Replace("Button", "")));
        t.TipoDestino          = 0;
        t.Literal              = TBoxLiteral.Text;
        t.Cascos               = DListCascos.SelectedValue;
        t.ModoOperacion        = DListModoOpe.SelectedValue;
        t.Prioridad            = Convert.ToUInt32(DListPrioridadTecla.SelectedValue);
        t.PrioridadSIP         = Convert.ToUInt32(DListPrioridadSIP.SelectedValue);
        t.SupervisionPortadora = CBSupervisionPortadora.Checked;

        ServicioCD40.UpdateSQL(t);

        #region Sincronizar CD30
        Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
        KeyValueConfigurationElement sincronizar = config.AppSettings.Settings["SincronizaCD30"];
        if ((sincronizar != null) && (Int32.Parse(sincronizar.Value) == 1))
        {
            // Obtener el emplazamiento del recurso asignado al destino
            ServiciosCD40.RecursosRadio rRadio = new ServiciosCD40.RecursosRadio();
            rRadio.IdSistema = (string)Session["idsistema"];
            rRadio.IdDestino = t.IdDestino;

            ServiciosCD40.Tablas[] listaRecursos = ServicioCD40.ListSelectSQL(rRadio);
            if (listaRecursos != null && listaRecursos.Length > 0)
            {
                SincronizaCD30.SincronizaCD30 sincro = new SincronizaCD30.SincronizaCD30();

                sincro.ModificaColateralRadio(t.IdNucleo, t.IdSector, t.PosHMI, t.Literal, ((ServiciosCD40.RecursosRadio)listaRecursos[0]).IdEmplazamiento);
            }
        }
        #endregion
    }
    protected void BtAceptar_Click(object sender, EventArgs e)
    {
        string destinoModificar = "";

        if (AtLeastOneSelectedResource())
        {
            //Se comprueba que el Literal tiene el formato correcto y una longitud máxima de 10 caracteres
            if (!System.Text.RegularExpressions.Regex.IsMatch(TBoxLiteral.Text, @"^[\w-._]{1,10}$"))
            {
                string strMsgAux = string.Empty;

                // El identificador no tiene el formato correcto
                if (GetLocalResourceObject("MsgLiteralFormatoIncorrecto") != null)
                {
                    strMsgAux = GetLocalResourceObject("MsgLiteralFormatoIncorrecto").ToString();
                }
                else
                {
                    strMsgAux = "El literal del destino radio no tiene un formato correcto";
                }

                cMsg.confirm(strMsgAux, "aceptparam");
            }
            else
            {
                if (!Modificando)
                {
                    GuardarNuevaPosicionEnBD((string)ViewState["IdDestino"], TBoxLiteral.Text,
                                             UInt16.Parse(DListPrioridadTecla.SelectedValue), UInt16.Parse(DListPrioridadSIP.SelectedValue),
                                             DListCascos.SelectedValue, DListModoOpe.SelectedValue, CBSupervisionPortadora.Checked);
                    Panel2.Visible = false;
                    EsconderPanelOpciones();
                    CargarPanelDestinos();
                    ActualizarPosicionesPanel();
                    CargarPanelDestinos();
                    // Guardar el estado de los recursos propios del destino
                    GuardaEstado();

                    ActualizaParametrosFrecuencia((string)ViewState["IdDestino"]);

                    //VMG 13/03/2019
                    if (RBLSpreadLiteral.SelectedIndex == 0)//Enviar a todos los sectores con este destino
                    {
                        DistribuyeAlias2Sectores((string)Session["idsistema"], (string)ViewState["IdDestino"],
                                                 (string)Session["idnucleo"], TBoxLiteral.Text);
                    }
                }
                else
                {
                    string id       = (string)ViewState["IdBoton"];
                    uint   posicion = CalculatePosHmi(UInt16.Parse(id.Replace("Button", "")));
                    ServiciosCD40.DestinosRadioSector elemento = (ServiciosCD40.DestinosRadioSector) Array.Find(datosRadio,
                                                                                                                delegate(object d) { return(((ServiciosCD40.DestinosRadioSector)d).PosHMI == posicion); });

                    //			TextBox tbox = (TextBox)TEnlacesRadio.FindControl("TextBox" + id.Replace("Button", ""));


                    if (elemento != null)
                    {
                        destinoModificar = elemento.IdDestino;
                        ActualizaDatosPosicion(elemento.IdDestino);
                        //ActualizaDatosAltavoces(elemento.IdDestino);
                        ActualizaDatosEstadoRecursos(elemento.IdDestino);
                        ActualizarPosicionesPanel();
                        ActualizaParametrosFrecuencia(elemento.IdDestino);
                    }
                    Panel2.Visible = false;
                    //VMG 13/03/2019
                    if (RBLSpreadLiteral.SelectedIndex == 0)//Enviar a todos los sectores con este destino
                    {
                        DistribuyeAlias2Sectores((string)Session["idsistema"], destinoModificar,
                                                 (string)Session["idnucleo"], TBoxLiteral.Text);
                    }
                }

                try
                {
                    // Llamada asíncrona para regenerar todas las sectorizaciones.
                    Session.Add("Sectorizando", true);
                    ServicioCD40.BeginRegeneraSectorizaciones((string)Session["idsistema"], true, true, true, CallbackCompletado, null);
                }
                catch (Exception ex)
                {
                    logDebugView.Error("(TFTRadio-BtAceptar_Click): ", ex);
                }
            }
        }
        else
        {
            cMsg.alert((string)GetGlobalResourceObject("Espaniol", "SeleccionarAlgunRecurso"));
        }
    }
    private void GuardarNuevaPosicionEnBD(string idDest, string literal, uint prioridad, uint prioSip, string cascos, string modo, bool supervisarPortadora)
    {
        if (Session["idsistema"] != null && Session["NombreSector"] != null && Session["idnucleo"] != null)
        {
            try
            {
                TextBox tbox = (TextBox)TEnlacesRadio.FindControl("TextBox" + ((string)ViewState["IdBoton"]).Replace("Button", ""));
                if (tbox != null)
                {
                    ServiciosCD40.DestinosRadioSector t = new ServiciosCD40.DestinosRadioSector();
                    t.IdSistema            = (string)Session["idsistema"];
                    t.IdSector             = (string)Session["NombreSector"];
                    t.IdNucleo             = (string)Session["idnucleo"];
                    t.IdDestino            = idDest;
                    t.PosHMI               = CalculatePosHmi(UInt16.Parse(((string)ViewState["IdBoton"]).Replace("Button", "")));
                    t.TipoDestino          = 0;
                    t.Literal              = literal;
                    t.Prioridad            = prioridad;
                    t.PrioridadSIP         = prioSip;
                    t.Cascos               = cascos;
                    t.ModoOperacion        = modo;
                    t.SupervisionPortadora = supervisarPortadora;
                    if (ServicioCD40.InsertSQL(t) < 0)
                    {
                        logDebugView.Warn("(TFTRadio-GuardarNuevaPosicionEnBD): No se ha podido guardar la posicion.");
                    }
                    //for (int i = 1; i < 8; i++)
                    //{
                    //    ServiciosCD40.Altavoces alt = new ServiciosCD40.Altavoces();
                    //    alt.IdSistema = t.IdSistema;
                    //    alt.IdSector = t.IdSector;
                    //    alt.IdNucleo = t.IdNucleo;
                    //    alt.IdDestino = t.IdDestino;
                    //    alt.PosHMI = t.PosHMI;
                    //    alt.TipoDestino = t.TipoDestino;
                    //    alt.NumAltavoz = (uint)i;
                    //    alt.Estado = ((DropDownList)Table1.FindControl("DropDownList" + i.ToString())).SelectedValue;
                    //    if (ServicioCD40.InsertSQL(alt) < 0) logDebugView.Warn("(TFTRadio-GuardarNuevaPosicionEnBD): No se ha podido guardar el altavoz de la posicion.");
                    //}

                    #region Sincronizar CD30
                    Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
                    KeyValueConfigurationElement sincronizar = config.AppSettings.Settings["SincronizaCD30"];
                    if ((sincronizar != null) && (Int32.Parse(sincronizar.Value) == 1))
                    {
                        // Obtener el emplazamiento del recurso asignado al destino
                        ServiciosCD40.RecursosRadio rRadio = new ServiciosCD40.RecursosRadio();
                        rRadio.IdSistema = (string)Session["idsistema"];
                        rRadio.IdDestino = t.IdDestino;

                        ServiciosCD40.Tablas[] listaRecursos = ServicioCD40.ListSelectSQL(rRadio);
                        if (listaRecursos != null && listaRecursos.Length > 0)
                        {
                            SincronizaCD30.SincronizaCD30 sincro = new SincronizaCD30.SincronizaCD30();

                            switch (sincro.AltaColateralRadio(t.IdNucleo, t.IdSector, t.PosHMI, t.Literal, t.IdDestino, ((ServiciosCD40.RecursosRadio)listaRecursos[0]).IdEmplazamiento))
                            {
                            case 127:
                                cMsg.alert((string)GetGlobalResourceObject("Espaniol", "Cod127"));
                                break;

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

                            default:
                                break;
                            }
                        }
                    }
                    #endregion
                }
            }
            catch (Exception ex)
            {
                logDebugView.Error("(TFTRadio-GuardarNuevaPosicionEnBD): ", ex);
            }
        }
    }