Exemple #1
0
        public virtual async Task ExecuteTask(SerializerSession session, CancellationToken cancelToken)
        {
            //NightscoutConfiguration = session.NightscoutConfiguration();
            //_notifiyConfiguration = session.NotifiyConfiguration();

            Treatments   = new List <Treatment>();
            Entries      = new List <Entry>();
            DeviceStatus = new DeviceStatus();

            _session = session;

            if (session.GotConnectionToPump)
            {
                eventsToHandle = GetHistoryWithNoStatus();

                CreateDeviceStatus();
                AddDeviceStatus(cancelToken);

                if (eventsToHandle.Count > 0)
                {
                    Readings();
                    Wizard();
                    Alerts();
                    TempBasalProgrammed();
                    SensorChange();
                    CannulaChanged();
                    BgReadings();
                    AirplaneMode();
                    BatteryChanged();
                    ExerciseMarker();
                    //DailyTotals();

                    this.Treatments.Where(e => e.EventType == "Announcement").ToList().ForEach(e => e.IsAnnouncement = true);


                    AddEntries(cancelToken);
                    AddTreatments(cancelToken);

                    var keys = eventsToHandle.GroupBy(e => e.Key).Select(e => e.Key).ToList();
                    repository.AddKeys(keys);

                    await Notify(cancelToken);
                }
                else
                {
                    Logger.LogInformation($"No new pump-events.");
                }
            }
            else
            {
                Logger.LogInformation("No data uploaded to Nightscout");
            }
        }