示例#1
0
 void IJob.Execute(IJobExecutionContext context)
 {
     try
     {
         if (GlobalInit.MEAS_SDR_RESULTS.Count > 0)
         {
             for (int i = 0; i < GlobalInit.MEAS_SDR_RESULTS.Count; i++)
             {
                 ClassesDBGetResult       DbGetRes = new ClassesDBGetResult();
                 ClassConvertToSDRResults conv     = new ClassConvertToSDRResults();
                 if (GlobalInit.MEAS_SDR_RESULTS.Count > 0)
                 {
                     if (GlobalInit.MEAS_SDR_RESULTS[0] != null)
                     {
                         int                ID = -1;
                         string             Status_Original = GlobalInit.MEAS_SDR_RESULTS[0].status;
                         MeasurementResults msReslts        = ClassConvertToSDRResults.GenerateMeasResults(GlobalInit.MEAS_SDR_RESULTS[0]);
                         if (msReslts.TypeMeasurements == MeasurementType.SpectrumOccupation)
                         {
                             msReslts.Status = Status_Original;
                         }
                         if (msReslts.MeasurementsResults != null)
                         {
                             if (msReslts.MeasurementsResults.Count() > 0)
                             {
                                 if (msReslts.MeasurementsResults[0] is LevelMeasurementOnlineResult)
                                 {
                                     // Здесь в базу ничего не пишем (только в память)
                                     msReslts.Status = "O";
                                     GlobalInit.LST_MeasurementResults.Add(msReslts);
                                 }
                                 else
                                 {
                                     System.Console.WriteLine(string.Format("Start save results..."));
                                     Task ge = new Task(() =>
                                     {
                                         ID = DbGetRes.SaveResultToDB(msReslts);
                                         if (ID > 0)
                                         {
                                             GlobalInit.LST_MeasurementResults.Add(msReslts);
                                             GlobalInit.MEAS_SDR_RESULTS.Remove(GlobalInit.MEAS_SDR_RESULTS[0]);
                                             System.Console.WriteLine(string.Format("Success save results..."));
                                         }
                                     });
                                     ge.Start();
                                     ge.Wait();
                                 }
                             }
                         }
                         else
                         {
                             System.Console.WriteLine(string.Format("Start save results..."));
                             Task ge = new Task(() =>
                             {
                                 ID = DbGetRes.SaveResultToDB(msReslts);
                                 if (ID > 0)
                                 {
                                     GlobalInit.LST_MeasurementResults.Add(msReslts);
                                     GlobalInit.MEAS_SDR_RESULTS.Remove(GlobalInit.MEAS_SDR_RESULTS[0]);
                                     System.Console.WriteLine(string.Format("Success save results..."));
                                 }
                             });
                             ge.Start();
                             ge.Wait();
                         }
                     }
                 }
                 System.Console.WriteLine(string.Format("LST_MeasurementResults count: {0}", GlobalInit.LST_MeasurementResults.Count()));
                 System.Console.WriteLine(string.Format("MEAS_SDR_RESULTS count: {0}", GlobalInit.MEAS_SDR_RESULTS.Count()));
                 DbGetRes.Dispose();
                 conv.Dispose();
                 CoreICSM.Logs.CLogs.WriteInfo(CoreICSM.Logs.ELogsWhat.Unknown, "ShedulerReceiveStatusMeastaskSDR ");
             }
         }
     }
     catch (Exception ex)
     {
         System.Console.WriteLine("[ShedulerReceiveStatusMeastaskSDR]:" + ex.Message);
     }
 }
示例#2
0
        void IAppServerComponent.Activate()
        {
            BaseXMLConfiguration xml_conf = new BaseXMLConfiguration();

            GlobalInit.Initialization();
            ClassesDBGetResult       DbGetRes = new ClassesDBGetResult();
            ClassConvertToSDRResults conv     = new ClassConvertToSDRResults();
            ///
            // Начальная инициализация (загрузка конфигурационных данных)

            /*
             * Task tt = new Task(() => {
             *  System.Threading.Thread.CurrentThread.Priority = System.Threading.ThreadPriority.Normal;
             *      if (GlobalInit.LST_MeasurementResults.Count == 0) {
             *          MeasurementResults[] msResltConv = conv.ConvertTo_SDRObjects(DbGetRes.ReadlAllResultFromDB());
             *          if (msResltConv != null) {
             *              foreach (MeasurementResults inb in msResltConv.ToArray()) {
             *                  GlobalInit.LST_MeasurementResults.Add(inb);
             *              }
             *          }
             *      }
             * });
             * tt.Start();
             * tt.Wait();
             */

            Task tsg = new Task(() => {
                ClassesDBGetTasks cl = new ClassesDBGetTasks();
                ClassConvertTasks ts = new ClassConvertTasks();
                List <MeasTask> mts_ = ts.ConvertTo_MEAS_TASKObjects(cl.ReadlAllSTasksFromDB()).ToList();
                foreach (MeasTask mtsd in mts_.ToArray())
                {
                    if (((GlobalInit.LIST_MEAS_TASK.Find(j => j.Id.Value == mtsd.Id.Value) == null)))
                    {
                        MeasTask fnd = GlobalInit.LIST_MEAS_TASK.Find(j => j.Id.Value == mtsd.Id.Value);
                        if (fnd != null)
                        {
                            GlobalInit.LIST_MEAS_TASK.ReplaceAll <MeasTask>(fnd, mtsd);
                        }
                        else
                        {
                            GlobalInit.LIST_MEAS_TASK.Add(mtsd);
                        }
                    }
                }
                cl.Dispose();
                ts.Dispose();
            });

            tsg.Start();



            Sheduler_Up_Meas_SDR_Results Sc_Up_Meas_SDR = new Sheduler_Up_Meas_SDR_Results(); Sc_Up_Meas_SDR.ShedulerRepeatStart(BaseXMLConfiguration.xml_conf._TimeUpdateMeasResult);

            ShedulerReceiveStatusMeastaskSDR sc = new ShedulerReceiveStatusMeastaskSDR();

            sc.ShedulerRepeatStart(BaseXMLConfiguration.xml_conf._TimeUpdateMeasTaskStatus);


            ShedulerCheckActivitySensor CheckActivitySensor = new ShedulerCheckActivitySensor();

            CheckActivitySensor.ShedulerRepeatStart(BaseXMLConfiguration.xml_conf._RescanActivitySensor);

            ShedulerGetMeasTask getMeasTask = new ShedulerGetMeasTask(); getMeasTask.ShedulerRepeatStart(20);


            //Sheduler_ArchiveSDRResults arch_sdrRes = new Sheduler_ArchiveSDRResults(); arch_sdrRes.ShedulerRepeatStart(BaseXMLConfiguration.xml_conf._TimeArchiveResult);

            ShedulerCheckStart Quartz = new ShedulerCheckStart();

            Quartz.ShedulerRepeatStart(BaseXMLConfiguration.xml_conf._ReloadStart);
        }