Ejemplo n.º 1
0
    private void CargarSectores()
    {
        try
        {
            ServiciosCD40.ServiciosCD40      g = new ServiciosCD40.ServiciosCD40();
            ServiciosCD40.SectoresAgrupacion t = new ServiciosCD40.SectoresAgrupacion();
            t.IdSistema    = (string)Session["idsistema"];
            t.IdAgrupacion = TxtIdAgrupacion.Text;
            ServiciosCD40.Tablas[] d = g.ListSelectSQL(t);
            if (d != null && d.Length > 0)
            {
                if (ListaSectoresOriginal.Length > 0)
                {
                    ListaSectoresOriginal.Remove(0, ListaSectoresOriginal.Length);
                }
                if (ListaOriginal.Length > 0)
                {
                    ListaOriginal.Remove(0, ListaOriginal.Length);
                }

                for (int i = 0; i < d.Length; i++)
                {
                    ListaSectoresOriginal.AppendFormat("'{0}',", ((ServiciosCD40.SectoresAgrupacion)d[i]).IdSector);
                    ListaOriginal.AppendFormat("{0},", ((ServiciosCD40.SectoresAgrupacion)d[i]).IdSector);
                    ListSectores.Items.Add(((ServiciosCD40.SectoresAgrupacion)d[i]).IdSector);
                }

                if (ListaSectoresOriginal.Length > 0)
                {
                    ListaSectoresOriginal.Remove(ListaSectoresOriginal.Length - 1, 1);
                }
                if (ListaOriginal.Length > 0)
                {
                    ListaOriginal.Remove(ListaOriginal.Length - 1, 1);
                }

                IdNucleo = ((ServiciosCD40.SectoresAgrupacion)d[0]).IdNucleo;
            }
        }
        catch (Exception e)
        {
            logDebugView.Error("(Agrupacion-CargarSectores):", e);
        }
    }
Ejemplo n.º 2
0
    private void GuardarCambios()
    {
        uint idSactaDominante = 0;

        try
        {
            ServiciosCD40.Sectores    s             = new ServiciosCD40.Sectores();
            System.Text.StringBuilder lista         = new System.Text.StringBuilder();              //Lista Sectores entre comillas simples y separados por comas
            System.Text.StringBuilder listaSectores = new System.Text.StringBuilder();              //Lista de Sectores separados por comas
            string strNucleo = "";

            //Se ordena la lista de sectores
            OrdenaLista();

            //Se componen la lista de sectores entre comillas simples
            for (int i = 0; i < ListSectores.Items.Count; i++)
            {
                listaSectores.AppendFormat("'{0}',", ListSectores.Items[i].Text);
                lista.AppendFormat("{0},", ListSectores.Items[i].Text);
            }

            //Se elimina la última coma de las listas
            if (lista.Length > 0)
            {
                lista = lista.Remove(lista.Length - 1, 1);
            }

            if (listaSectores.Length > 0)
            {
                listaSectores = listaSectores.Remove(listaSectores.Length - 1, 1);
            }

            //Se comprueba si en el sistema existe otra agrupación con el mismo nombre o con el mismo conjunto de sectores
            if (bExisteAgrupacionConSectores(TxtIdAgrupacion.Enabled, listaSectores.ToString()))
            {
                return;
            }
            else
            {
                ServiciosCD40.Agrupaciones n = new ServiciosCD40.Agrupaciones();

                n.IdSistema = (string)Session["idsistema"];

                n.IdAgrupacion = TxtIdAgrupacion.Text;

                if (TxtIdAgrupacion.Enabled) //Nueva Agrupacion
                {
                    if (servicioParaSectorizacion.InsertSQL(n) < 0)
                    {
                        logDebugView.Warn("(Agrupacion-GuardarCambios): No se han podido insertar los datos (InsertSQL).");
                        cMsg.alert(String.Format((string)GetGlobalResourceObject("Espaniol", "ErrorGuardarAgrupacion"), n.IdAgrupacion));
                        return;
                    }
                }
                else
                if (servicioParaSectorizacion.UpdateSQL(n) < 0)
                {
                    logDebugView.Warn("(Agrupacion-GuardarCambios): No se han podido actualizar los datos (UpdateSQL).");
                    cMsg.alert(String.Format((string)GetGlobalResourceObject("Espaniol", "ErrorGuardarAgrupacion"), n.IdAgrupacion));
                }

                ServiciosCD40.SectoresAgrupacion r = new ServiciosCD40.SectoresAgrupacion();
                r.IdSistema    = (string)Session["idsistema"];
                r.IdAgrupacion = TxtIdAgrupacion.Text;

                NewItem = r.IdAgrupacion;

                servicioParaSectorizacion.DeleteSQL(r);

                List <string> lossectores = new List <string>();

                for (int i = 0; i < ListSectores.Items.Count; i++)
                {
                    ServiciosCD40.SectoresAgrupacion r1 = new ServiciosCD40.SectoresAgrupacion();
                    r1.IdSistema    = (string)Session["idsistema"];
                    r1.IdAgrupacion = TxtIdAgrupacion.Text;
                    r1.IdSector     = ListSectores.Items[i].Text;
                    lossectores.Add(r1.IdSector);
                    ServiciosCD40.Sectores s1 = new ServiciosCD40.Sectores();
                    s1.IdSistema = (string)Session["idsistema"];
                    s1.IdSector  = ListSectores.Items[i].Text;
                    ServiciosCD40.Tablas[] tsector = servicioParaSectorizacion.ListSelectSQL(s1);
                    if (tsector != null)
                    {
                        for (int j = 0; j < tsector.Length; j++)
                        {
                            strNucleo = r1.IdNucleo = ((ServiciosCD40.Sectores)tsector[j]).IdNucleo;
                        }
                        servicioParaSectorizacion.InsertSQL(r1);
                    }

                    if (i == 0)
                    {
                        idSactaDominante = ((ServiciosCD40.Sectores)tsector[0]).NumSacta;
                    }
                }

                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.AltaAgrupacion(TxtIdAgrupacion.Text, lossectores.ToArray()))
                    {
                    case 110:
                        cMsg.alert(String.Format((string)GetGlobalResourceObject("Espaniol", "Cod110"), TxtIdAgrupacion.Text));
                        break;

                    case 111:
                        cMsg.alert(String.Format((string)GetGlobalResourceObject("Espaniol", "Cod111"), TxtIdAgrupacion.Text));
                        break;

                    default:
                        break;
                    }
                }

                // Comprobar si la combinación de los sectores que componen la agrupación existe como sector
                ServiciosCD40.Sectores sct = new ServiciosCD40.Sectores();
                sct.IdSistema = (string)Session["idsistema"];
                sct.IdNucleo  = strNucleo;
                sct.IdSector  = servicioParaSectorizacion.GeneraAlgoritmo(sct.IdSistema, strNucleo, listaSectores.ToString());
                if (ListSectores.Items.Count > 0)
                {
                    //Si se está realizando una modificación, hay actualizar la anterior agrupación: SectoresOriginal y ListaOriginal contienen la lista de sectores antes de realizar
                    // alguna modificación. Si se está dando de alta una nueva agrupacion, la lista estará vacía.
                    if (ListaSectoresOriginal.Length > 0 && ListaOriginal.Length > 0)
                    {
                        // Nombre de los sectores que componían la agrupación antes de ser modificada
                        string nomSectorOriginal = servicioParaSectorizacion.GeneraAlgoritmo(sct.IdSistema, strNucleo, ListaSectoresOriginal.ToString());
                        // Generar el sector con el nombre de la agrupación
                        GeneraSector(nomSectorOriginal, ListaSectoresOriginal, strNucleo, idSactaDominante);
                        // Modificar las sectorizaciones que componían los sectores originales (agrupación) con el del algoritmo
                        ActualizaSectoresSectorizacion(nomSectorOriginal, TxtIdAgrupacion.Text, strNucleo);
                        // Generar los SectoresSector que componen la agrupación...
                        GeneraSectoresSector(nomSectorOriginal, ListaOriginal.ToString(), strNucleo);
                        // Actualiza los Parámetros y los números de abonado de los sectores que componen una agrupación
                        //servicioParaSectorizacion.RegeneraParametrosAgrupacion(r.IdSistema, strNucleo, nomSectorOriginal);
                    }

                    // Generar el sector con el nombre de la agrupación
                    GeneraSector(TxtIdAgrupacion.Text, listaSectores, strNucleo, idSactaDominante);
                    // Generar los SectoresSector que componen la agrupación...
                    GeneraSectoresSector(TxtIdAgrupacion.Text, lista.ToString(), strNucleo);
                    // Cambia los identificadores de los sectores asignado a tops por el de la agrupación recién creada
                    ActualizaSectoresSectorizacion(TxtIdAgrupacion.Text, sct.IdSector, strNucleo);
                    // Actualiza los Parámetros y los números de abonado de los sectores que componen una agrupación
                    servicioParaSectorizacion.RegeneraParametrosAgrupacion(r.IdSistema, strNucleo, r.IdAgrupacion);

                    servicioParaSectorizacion.BeginRegeneraSectorizaciones((string)Session["idsistema"], true /* completa */, false /* radio */, false /* tf */, CallbackCompletado, null);
                }
            }

            lista.Clear();
            listaSectores.Clear();

            IndexListBox1 = ListBox1.SelectedIndex;
        }
        catch (Exception e)
        {
            logDebugView.Error("(Agrupacion-GuardarCambios):", e);
        }


        /**
         * AGL ID.83/84.  Al aceptar en modo edición no se muestran bien los datos.
         * */
        /* Comentado en el cambio
         * ModoEdicion(false);*/
        MuestraDatos(DameDatos());

        /**
         * Fin de la Modificacion */
    }