예제 #1
0
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            SystemEvents.SessionSwitch += SystemEventsOnSessionSwitch;
            SystemEvents.SessionEnded += SystemEventsOnSessionEnded;

            swriter = new StringWriter();
            Console.SetOut(swriter);

            XmlConfigurator.Configure();

            RegistrarLog("<b>Inicializando la aplicación...</b>");

            RegistrarLog("<b>Cargando opciones de la aplicación...</b>");
            LoadOpciones();

            SonarActivo = true;

            Sonar = new Dictionary<int, BackgroundWorker>();

            try
            {
                IPersistence<FileInspector> servInspF = new Persistence<FileInspector>();
                var inspFilterF = new FileInspector();

                var rastreadoresF = servInspF.GetEntities(inspFilterF);

                foreach (var insp in rastreadoresF)
                {
                    AddWork(insp);
                }

                IPersistence<ServiceInspector> servInspV = new Persistence<ServiceInspector>();
                var inspFilterV = new ServiceInspector();

                var rastreadoresV = servInspV.GetEntities(inspFilterV);

                foreach (var insp in rastreadoresV)
                {
                    AddWork(insp);
                }

            }
            catch (Exception ex)
            {
                RegistrarLog("<b>Error al inicializar la aplicación: </b>" + ex.Message);
            }

            RegistrarLog("<b>Inicialización de la aplicación Finalizada</b>");
        }
        private void InspectorsRefresh(Inspector inspector, Boolean added = false)
        {
            var lstInspectors = new List<Inspector>();

            if (inspector == null)
            {
                IPersistence<FileInspector> servInspF = new Persistence<FileInspector>();

                lstInspectors.AddRange(servInspF.GetEntities(new FileInspector(){Enable = null}));
                lstInspectors.ForEach(FillRulesAux);

                IPersistence<ServiceInspector> servInspV = new Persistence<ServiceInspector>();

                lstInspectors.AddRange(servInspV.GetEntities());
            }
            else
            {
                lstInspectors = (List<Inspector>)lstVInspectors.ItemsSource;

                if (added)
                {
                    FillRulesAux(inspector);
                    lstInspectors.Add(inspector);
                }
                else
                    lstInspectors.Remove(inspector);
            }

            lstVInspectors.ItemsSource = null;
            lstVInspectors.ItemsSource = lstInspectors;
        }