private void MostrarSectores() { try { BtEliminar_ConfirmButtonExtender.ConfirmText = String.Format((string)GetGlobalResourceObject("Espaniol", "EliminarNucleo"), ListBox1.SelectedValue); Label3.Text = (string)GetGlobalResourceObject("Espaniol", "SectoresNucleo") + " " + ListBox1.SelectedValue; Label3.Visible = true; ListBox2.Visible = true; ServiciosCD40.Sectores t = new ServiciosCD40.Sectores(); t.IdSistema = (string)Session["idsistema"]; t.IdNucleo = ListBox1.SelectedValue; t.SectorSimple = true; ServiciosCD40.Tablas[] d = ServicioCD40.ListSelectSQL(t); ListBox2.Items.Clear(); for (int i = 0; i < d.Length; i++) { ListBox2.Items.Add(((ServiciosCD40.Sectores)d[i]).IdSector); } } catch (Exception e) { logDebugView.Error("(Nucleos-MostrarSectores): ", e); } }
private void CargarSectoresSinAsignar(bool todos) { try { ServiciosCD40.ServiciosCD40 g = new ServiciosCD40.ServiciosCD40(); ServiciosCD40.Sectores t = new ServiciosCD40.Sectores(); t.IdSistema = (string)Session["idsistema"]; t.SectorSimple = true; DataSet d; if (todos) { d = g.GetSectoresFueraDeAgrupacion((string)Session["idsistema"], null); } else { d = g.GetSectoresFueraDeAgrupacion((string)Session["idsistema"], TxtIdAgrupacion.Text); } ListSectoresLibres.DataSource = d; ListSectoresLibres.DataTextField = "IdSector"; ListSectoresLibres.DataBind(); } catch (Exception e) { logDebugView.Error("(Agrupacion-CargarSectoresSinAsignar):", e); } }
private bool bExisteAgrupacionConSectores(bool bNuevaAgrupacion, string strListaSectores) { bool bExiste = false; string idAgrupacion = String.Empty; //En el Alta, se comprueba si ya existe otra agrupación con el mismo identificador. //En el alta y en la modificación, se comprueba si en el sistema existe una agrupación con el conjunto de sectores configurado try { ServiciosCD40.Sectores s = new ServiciosCD40.Sectores(); if (bNuevaAgrupacion) //Nueva Agrupacion { ServiciosCD40.Agrupaciones n = new ServiciosCD40.Agrupaciones(); n.IdSistema = (string)Session["idsistema"]; n.IdAgrupacion = TxtIdAgrupacion.Text; //Se comprueba que si existe otra agrupación en el sistema con el mismo nombre ServiciosCD40.Tablas[] d = servicioParaSectorizacion.ListSelectSQL(n); if (null != d && d.Length > 0) { cMsg.alert(string.Format((string)GetGlobalResourceObject("Espaniol", "AvisoAgrupacionExiste"), TxtIdAgrupacion.Text)); bExiste = true; } } else { //Se obtiene el id de la agrupación que se está modificando idAgrupacion = TxtIdAgrupacion.Text; } if (!bExiste) { //Si la agrupación es nueva y no existe o se va a modificar, se comprueba si existe en el sistema //otra agrupación con el mismo conjunto de sectores if (servicioParaSectorizacion.ExisteAgrupacionConSectores(strListaSectores, idAgrupacion)) { cMsg.alert(string.Format((string)GetGlobalResourceObject("Espaniol", "AvisoAgrupacionConMismosSectoresExiste"), strListaSectores)); bExiste = true; } } } catch (Exception objEx) { logDebugView.Error("Agrupacion (bExisteAgrupacionConSectores): error en la comprobación de la existencia de la agrupación de sectores."); logDebugView.Error("Error:", objEx); } return(bExiste); }
/// <summary> /// /// </summary> /// <param name="nomSector"></param> /// <param name="listaSectores"></param> /// <param name="idNucleo"></param> /// <param name="idSacta"></param> private void GeneraSector(string nomSector, System.Text.StringBuilder listaSectores, string idNucleo, uint idSacta) { try { //ServiciosCD40.ServiciosCD40 g = new ServiciosCD40.ServiciosCD40(); ServiciosCD40.Sectores s = new ServiciosCD40.Sectores(); s.IdSistema = (string)Session["IdSistema"]; s.IdSector = nomSector; s.IdNucleo = idNucleo; // Comprobar que esta combinación de sectores no existe en la tabla Sectores // en cuyo caso no hay nada que generar if (servicioParaSectorizacion.ListSelectSQL(s).Length > 0) { return; } s.IdParejaUCS = s.IdNucleoParejaUCS = s.IdSistemaParejaUCS = null; s.SectorSimple = false; s.Tipo = "R"; s.TipoPosicion = "C"; s.PrioridadR2 = servicioParaSectorizacion.GetPrioridadSector(s.IdSistema, s.IdNucleo, listaSectores.ToString()); s.TipoHMI = 0; s.NumSacta = idSacta; if (servicioParaSectorizacion.InsertSQL(s) < 0) { logDebugView.Error("(Sectorizaciones-GeneraSector): No se ha podido guardar el sector."); } } catch (Exception ex) { logDebugView.Error("(Agrupacion-GeneraSector): ", ex); } }
private void EliminarElemento() { try { ServiciosCD40.Agrupaciones n = new ServiciosCD40.Agrupaciones(); n.IdSistema = (string)Session["idsistema"]; n.IdAgrupacion = ListBox1.SelectedValue; //ServiciosCD40.ServiciosCD40 g = new ServiciosCD40.ServiciosCD40(); if (servicioParaSectorizacion.DeleteSQL(n) < 0) { logDebugView.Warn("(Nucleos-EliminarElemento): No se ha borrado el elemento"); cMsg.alert(String.Format((string)GetGlobalResourceObject("Espaniol", "ErrorEliminarAgrupacion"), n.IdAgrupacion)); } else { 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.BajaAgrupacion(n.IdAgrupacion)) { case 112: string s = (string)GetGlobalResourceObject("Espaniol", "ElementoEliminado") + "\\n\\n" + String.Format((string)GetGlobalResourceObject("Espaniol", "Cod112"), n.IdAgrupacion); cMsg.alert(s); break; case 113: string s1 = (string)GetGlobalResourceObject("Espaniol", "ElementoEliminado") + "\\n\\n" + String.Format((string)GetGlobalResourceObject("Espaniol", "Cod113"), n.IdAgrupacion); cMsg.alert(s1); break; default: break; } } cMsg.alert((string)GetGlobalResourceObject("Espaniol", "ElementoEliminado")); System.Text.StringBuilder strbListaSectores = new System.Text.StringBuilder(); // Obtener los sectores que componen la agrupación para actualizar la lista if (ListSectores.Items.Count > 0) { //Se compone la lista de sectores, con el nombre de cada sector entre comillas simples y la última coma for (int i = 0; i < ListSectores.Items.Count; i++) { strbListaSectores.AppendFormat("'{0}',", ListSectores.Items[i].Text); } strbListaSectores = strbListaSectores.Remove(strbListaSectores.Length - 1, 1); //La lista de sectores debe ir con cada item entre comillas simples para que la consulta no falle ActualizaSectores(strbListaSectores); } 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((string)Session["idsistema"], IdNucleo, ListaSectoresOriginal.ToString()); // Generar el sector con el nombre de la agrupación GeneraSector(nomSectorOriginal, ListaSectoresOriginal, IdNucleo, 0); // Modificar las sectorizaciones que componían los sectores originales (agrupación) con el del algoritmo ActualizaSectoresSectorizacion(nomSectorOriginal, TxtIdAgrupacion.Text, IdNucleo); // Generar los SectoresSector que componen la agrupación... GeneraSectoresSector(nomSectorOriginal, ListaOriginal.ToString(), IdNucleo); // Actualiza los Parámetros y los números de abonado de los sectores que componen una agrupación //servicioParaSectorizacion.RegeneraParametrosAgrupacion((string)Session["idsistema"], IdNucleo, nomSectorOriginal); } // Se elimina de la tabla Sectores el sector correspondiente a la agrupación. ServiciosCD40.Sectores sc = new ServiciosCD40.Sectores(); sc.IdSistema = (string)Session["idsistema"]; sc.IdNucleo = IdNucleo; sc.IdSector = ListBox1.SelectedValue; servicioParaSectorizacion.DeleteSQL(sc); MuestraDatos(DameDatos()); servicioParaSectorizacion.BeginRegeneraSectorizaciones((string)Session["idsistema"], true /* completa */, false /* radio */, false /* tf */, CallbackCompletado, null); strbListaSectores.Clear(); } } catch (Exception e) { logDebugView.Error("(Agrupacion-EliminarElemento):", e); } }
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 */ }