private string DameNombreSector(MySql.Data.MySqlClient.MySqlTransaction trans, string[] listaSectores, string idSistema, string idNucleo) { System.Text.StringBuilder lista = new System.Text.StringBuilder(); foreach (string s in listaSectores) { lista.AppendFormat("'{0}',", s); } // Buscar una agrupación if (lista.Length > 0) { lista = lista.Remove(lista.Length - 1, 1); CD40.BD.Utilidades u = new CD40.BD.Utilidades(GestorBDCD40.ConexionMySql); string nomAgrupacion = u.GetAgrupacion(listaSectores.Length, lista.ToString()); // Si no la encuentra, aplicar algoritmo if (nomAgrupacion == null) { nomAgrupacion = GeneraAlgoritmo(idSistema, idNucleo, lista.ToString(), trans); } return(nomAgrupacion); } return(""); }
public static bool NotificaSectorizacion(GestorBaseDatos gestorBDCD40, GestorBaseDatos gestorBDCD40ToMantto, string listenIp, string id_sistema, string id_sectorizacion, out DateTime fechaActivacion, string serverManttoIp = null) { //AccesoABaseDeDatos a = new AccesoABaseDeDatos(); CD40.BD.Utilidades util = new CD40.BD.Utilidades(gestorBDCD40ToMantto.ConexionMySql); Sectorizaciones s = new Sectorizaciones(); string[] parametros = { id_sectorizacion }; s.IdSistema = id_sistema; s.IdSectorizacion = id_sectorizacion; List <Tablas> sActiva = gestorBDCD40.ListSelectSQL(s, null); if (sActiva.Count > 0) { s.FechaActivacion = ((Sectorizaciones)sActiva[0]).FechaActivacion; Sistema sis = new Sistema(); sis.IdSistema = id_sistema; List <Tablas> sSistema = gestorBDCD40.ListSelectSQL(sis, null); if (sSistema.Count > 0) { sis.GrupoMulticastConfiguracion = ((Sistema)sSistema[0]).GrupoMulticastConfiguracion; sis.PuertoMulticastConfiguracion = ((Sistema)sSistema[0]).PuertoMulticastConfiguracion; ComunicacionMulticast(listenIp, sis.GrupoMulticastConfiguracion, sis.PuertoMulticastConfiguracion, System.Text.ASCIIEncoding.ASCII.GetBytes("1" + s.FechaActivacion.ToString("dd/MM/yyyy HH:mm:ss"))); } util.CreaEventoConfiguracion(id_sistema, 105, parametros, serverManttoIp); fechaActivacion = s.FechaActivacion; return(true); } util.CreaEventoConfiguracion(id_sistema, 106, parametros, serverManttoIp); fechaActivacion = DateTime.MinValue; return(false); }
public bool ControladoresComunicaSectorizacionActiva(string id_sistema, string id_sectorizacion, ref DateTime fechaActivacion) { System.Configuration.Configuration webConfiguracion = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~"); string listenIp = webConfiguracion.AppSettings.Settings["ListenIp"].Value; string toServerMantto = webConfiguracion.AppSettings.Settings["ServerManttoIp"].Value; byte iEstadoSacta = 0; iEstadoSacta = GetEstadoSacta(); if (iEstadoSacta == 0 || iEstadoSacta == 16 || id_sectorizacion == "SACTA") // No hay enlace con SACTA o la sectorización es de SACTA { // Servicio no arrancado (iEstadoSacta==0) o servicio arrancado pero sin conexion con SACTA (iEstadoSacta == 16) o la sectorización es de SACTA if (!EstanTodosLosReales(id_sistema, id_sectorizacion)) { CD40.BD.Utilidades util = new CD40.BD.Utilidades(GestorBDCD40.ConexionMySql); string[] parametros = { id_sectorizacion }; util.CreaEventoConfiguracion(id_sistema, 108, parametros, toServerMantto); fechaActivacion = DateTime.MinValue; return(false); } // Activa una sectorizacion en la base de datos. Utilidades.ActualizaActiva(GestorBDCD40.ConexionMySql, id_sistema, id_sectorizacion, fechaActivacion, false); // ResetServiciosCD40("ConexionBaseDatosCD40_Trans"); // Activa una sectorizacion en la base de datos CD40_Trans. Utilidades.ActualizaActiva(GestorBDCD40.ConexionMySql, id_sistema, id_sectorizacion, fechaActivacion, false); // Elimina los registros de las tablas modificadas en la bd CD40 como // consecuencia de la llamada a Utilidades.ActualizaActiva sobre dicha bd. //GestorBDCD40.ExecuteNonQuery("TRUNCATE TABLE TablasModificadas", null); } else // La sectorización es generada desde configuración pero con enlace SACTA { GenerarSectorizacion(id_sistema, id_sectorizacion, false); Utilidades.ActualizaActiva(GestorBDCD40.ConexionMySql, id_sistema, id_sectorizacion, fechaActivacion, true); // ResetServiciosCD40("ConexionBaseDatosCD40_Trans"); // Activa una sectorizacion en la base de datos CD40_Trans. Utilidades.ActualizaActiva(GestorBDCD40.ConexionMySql, id_sistema, id_sectorizacion, fechaActivacion, false); // Elimina los registros de las tablas modificadas en la bd CD40 como // consecuencia de la llamada a Utilidades.ActualizaActiva sobre dicha bd. //GestorBDCD40.ExecuteNonQuery("TRUNCATE TABLE TablasModificadas", null); } Rollback(); return(Utilidades.NotificaSectorizacion(GestorBDCD40, GestorBDCD40ToMantto, listenIp, id_sistema, id_sectorizacion, out fechaActivacion, toServerMantto)); }
public static void AsignaDestinoARecurso(ParametrosRecursoGeneral t, MySql.Data.MySqlClient.MySqlTransaction tran) { try { CD40.BD.Utilidades u = new CD40.BD.Utilidades(tran.Connection); u.UpdateDestinoSQL(t, tran); } catch (MySql.Data.MySqlClient.MySqlException) { } }
public static void LiberaDestinoDeRecurso(ParametrosRecursoGeneral t, MySql.Data.MySqlClient.MySqlTransaction tran) { try { CD40.BD.Utilidades u = new CD40.BD.Utilidades(tran.Connection); //MySql.Data.MySqlClient.MySqlTransaction trans = GestorBDCD40.StartTransaction(true); u.LiberaDestinoSQL(t, tran); //GestorBDCD40.Commit(trans); } catch (MySql.Data.MySqlClient.MySqlException) { } }
public string SectorizeFromSacta(uint Version, string dataSect) { var info = new SactaInfo(); var FechaActivacion = DateTime.Now; var util = new CD40.BD.Utilidades(MySqlConnectionToCd40); int Result = 0; string Cause = default(string); object sectorizacion = null; Exception exception = default(Exception); util.EventResultSectorizacion += new CD40.BD.SectorizacionEventHandler <CD40.BD.SactaInfo>((resinfo) => { Result = (int)resinfo["Resultado"]; Cause = resinfo.ContainsKey("ErrorCause") ? (string)resinfo["ErrorCause"] : null; }); info["Version"] = Version; info["IdSistema"] = "departamento"; info["SectName"] = "SACTA"; info["SectData"] = dataSect; try { sectorizacion = util.GeneraSectorizacion(info, FechaActivacion); } catch (Exception x) { Result = 1; Cause = String.Format("Exception {0}", x.Message); exception = x; } return(JsonConvert.SerializeObject(new { Executed = sectorizacion != null, FechaActivacion, Version, Result, Cause, DataIn = new { Version, dataSect }, exception }));; }
/* * public DataSet SelectView(string viewName, params string[] strWhere) * { * AccesoABaseDeDatos a = new AccesoABaseDeDatos(); * return a.SelectView(viewName, strWhere); * } */ public static void ActualizaActiva(MySql.Data.MySqlClient.MySqlConnection conexionCD40, string idSistema, string idSectorizacion, DateTime now, bool sactaPresente) { if (string.Compare(idSectorizacion, "SACTA") != 0) { now = DateTime.Now; } else { //Si la sectorización es SACTA y la fecha de activación no está inicializada, se actualiza a la fecha actual if (now == DateTime.MinValue) { now = DateTime.Now; } } CD40.BD.Utilidades u = new CD40.BD.Utilidades(conexionCD40); u.ActivaSectorizacion(idSistema, idSectorizacion, now, sactaPresente); //u.CrearSectorizacionActiva(idSistema, idSectorizacion, now, sactaPresente); }