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)); }