コード例 #1
0
    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));
    }