示例#1
0
        private void UserItem_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            TreeViewItem  item     = (TreeViewItem)sender;
            DbItem        iteminfo = (DbItem)item.Tag;
            XMLDBManager  DBMgr    = new XMLDBManager(iteminfo.fileName);
            UserData      data     = DBMgr.getObject();
            UserEventData edata    = new UserEventData()
            {
                name         = data.name,
                birth_place  = data.birth_place,
                birth_year   = data.birth_year,
                birth_month  = data.birth_month,
                birth_day    = data.birth_day,
                birth_hour   = data.birth_hour,
                birth_minute = data.birth_minute,
                birth_second = data.birth_second,
                lat          = data.lat,
                lng          = data.lng,
                lat_lng      = data.lat_lng,
                memo         = data.memo,
                timezone     = data.timezone,
                fullpath     = iteminfo.fileName
            };

            dbwindow.mainwindow.userdata = edata;
            dbwindow.mainwindow.mainWindowVM.ReSet(data.name, data.birth_str, data.birth_place, data.lat.ToString(), data.lng.ToString(),
                                                   edata.name, edata.birth_str, edata.birth_place, edata.lat.ToString(), edata.lng.ToString(), data.timezone, edata.timezone);
            dbwindow.mainwindow.ReCalc();
            dbwindow.mainwindow.ReRender();

            dbwindow.Visibility = Visibility.Hidden;
        }
示例#2
0
        public void AddLocationsForEvent(ObjectId eventId, UserEventData eventData)
        {
            if (eventId == null)
            {
                throw new ArgumentNullException(nameof(eventId));
            }
            if (eventData == null)
            {
                throw new ArgumentNullException(nameof(eventData));
            }

            var exists = context.Event.Find(Builders <Event> .Filter.Where(e => e.Id == eventId)
                                            & Builders <Event> .Filter.Eq("UserEventData.UserId", eventData.UserId))
                         .FirstOrDefault();

            if (exists != null)
            {
                exists.UserEventData[0].Locations.AddRange(eventData.Locations);
                var currUserData = exists.UserEventData.First(e => e.UserId == eventData.UserId);
                context.Event.UpdateOne(Builders <Event> .Filter.Where(e => e.Id == eventId)
                                        & Builders <Event> .Filter.Eq("UserEventData.UserId", eventData.UserId)
                                        , Builders <Event> .Update.Set("UserEventData.$.Duration",
                                                                       exists.UserEventData.First(e => e.UserId == eventData.UserId).Duration + eventData.Duration)
                                        .Set("UserEventData.$.Meters", exists.UserEventData.First(e => e.UserId == eventData.UserId).Meters + eventData.Meters)
                                        .Set("UserEventData.$.Locations", exists.UserEventData.First(e => e.UserId == eventData.UserId).Locations));
            }
            else
            {
                context.Event.UpdateOne(e => e.Id == eventId,
                                        Builders <Event> .Update.AddToSet(e => e.UserEventData, eventData));
            }
        }
示例#3
0
 public async Task Save(UserEventData eventData)
 {
     foreach (var value in eventData.Value.Split(";"))
     {
         await repository.Save(new UserEvent()
         {
             Type   = eventData.Type,
             Value  = value,
             UserId = eventData.SpotifyUserUri
         });
     }
 }
示例#4
0
        private static void ReportUserInternal(
            UserEventData user,
            bool logFailure = true)
        {
            if (!m_enabled)
            {
                return;
            }

            var json = CreateWriter();

            user.Write(json);
            Report("user", json, logFailure);
        }
        public async Task <ActionResult> PostUserEvent(UserEventData userEvent)
        {
            try
            {
                await service.Save(userEvent);

                return(Ok());
            }
            catch (ArgumentException ex)
            {
                logger.LogError(ex, $"There was an exception => {ex.Message}");
                return(BadRequest());
            }
        }
示例#6
0
        public IHttpActionResult PostUserEvent(UserEventData userEventData)
        {
            var userId = db.Users.Where(user => user.Name == userEventData.UserName).Select(user => user.Id).FirstOrDefault();

            var userEvent = new UserEvent
            {
                UserId  = userId,
                EventId = userEventData.EventId
            };

            db.UserEvents.Add(userEvent);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = userEvent.Id }, userEvent));
        }
示例#7
0
        public IActionResult UploadMobileEvent(MobileEventModel eventModel)
        {
            if (eventModel.UserId != User.Identity.GetUserId().ToString())
            {
                return(Unauthorized());
            }

            ObjectId eventId;
            var      timeStart = new DateTime
                                     (1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
            var userLocations = new UserEventData
            {
                Duration  = TimeSpan.FromSeconds(eventModel.Duration),
                Meters    = eventModel.Meters,
                UserId    = User.Identity.GetUserId(),
                Locations = eventModel.Locations.Select(e => new Location
                {
                    Latitude = e.Latitude, Longitude = e.Longitude,
                    Time     = DateTime.SpecifyKind(timeStart.AddMilliseconds(e.TimeMillis), DateTimeKind.Utc)
                }).ToList()
            };

            if (eventModel.EventId == null || !ObjectId.TryParse(eventModel.EventId, out eventId))
            {
                var e = new Event
                {
                    Finished      = true,
                    OwnerId       = User.Identity.GetUserId(),
                    Name          = eventModel.Name,
                    EndTime       = timeStart.AddMilliseconds(eventModel.EndTimeMillis),
                    Private       = true,
                    StartTime     = timeStart.AddMilliseconds(eventModel.StarTimeMillis),
                    UserEventData = new List <UserEventData>()
                    {
                        userLocations
                    }
                };
                eventRepository.AddEvent(e);
                return(Ok());
            }

            eventRepository.AddLocationsForEvent(eventId, userLocations);
            return(Ok());
        }
示例#8
0
 // イベントリストの選択
 public void SelectionChanged(ListView item)
 {
     if (item.SelectedItem == null)
     {
         return;
     }
     if (item.SelectedItem is UserEventData)
     {
         UserEventData data = (UserEventData)item.SelectedItem;
         if (data != null)
         {
             Memo = data.memo;
         }
     }
     else
     {
         UserData data = (UserData)item.SelectedItem;
         if (data != null)
         {
             Memo = data.memo;
         }
     }
 }
示例#9
0
        public static AzusaDexTimeline LoadFrom(DexcomDevice dd)
        {
            AzusaDexTimeline result = new AzusaDexTimeline();

            result.Timestamp = dd.ReadRTC();
            PartitionInfo pi = dd.ReadDatabaseParitionInfo();

            for (int i = 0; i < pi.Partition.Length; i++)
            {
                DatabasePageRange dpr = dd.ReadDatabasePageRange(pi.Partition[i]);
                if (dpr.Start == -1)
                {
                    continue;
                }
                for (int j = dpr.Start; j < dpr.End; j++)
                {
                    DatabasePage page = dd.ReadDatabasePage(pi.Partition[i], j);
                    for (int k = 0; k < page.Record.Length; k++)
                    {
                        switch (page.RecordType)
                        {
                        case RecordType.SensorData:
                            SensorData sd = page.Record[k] as SensorData;
                            result[sd.DisplayTime].Rssi             = sd.Rssi;
                            result[sd.DisplayTime].SensorFiltered   = sd.Filtered;
                            result[sd.DisplayTime].SensorUnfiltered = sd.Unfiltered;
                            break;

                        case RecordType.EgvData:
                            EGVRecord egv = page.Record[k] as EGVRecord;
                            if (egv.SpecialGlucoseValue == null)
                            {
                                result[egv.DisplayTime].Glucose = egv.Glucose;
                            }
                            else
                            {
                                result[egv.DisplayTime].SpecialGlucoseValue = egv.SpecialGlucoseValue;
                            }
                            result[egv.DisplayTime].TrendArrow = egv.TrendArrow;
                            break;

                        case RecordType.InsertionTime:
                            InsertionTime it = page.Record[k] as InsertionTime;
                            result[it.DisplayTime].SessionState = it.SessionState;
                            break;

                        case RecordType.MeterData:
                            MeterData md = page.Record[k] as MeterData;
                            result[md.DisplayTime].MeterGlucose = md.MeterGlucose;
                            break;

                        case RecordType.UserEventData:
                            UserEventData ued = page.Record[k] as UserEventData;
                            result[ued.DisplayTime2].EventType = ued.EventType;
                            switch (ued.EventType)
                            {
                            case EventType.Carbs:
                                result[ued.DisplayTime2].Carbs = ued.EventValue;
                                break;

                            case EventType.Insulin:
                                result[ued.DisplayTime2].Insulin = ued.EventValue;
                                break;

                            default:
                                result[ued.DisplayTime2].HealthEvent   = ued.HealthEvent;
                                result[ued.DisplayTime2].ExerciseEvent = ued.ExerciseEvent;
                                break;
                            }
                            break;

                        case RecordType.ManufacturingData:
                            ManufacturingParameters mp = page.Record[k] as ManufacturingParameters;
                            result[mp.DisplayTime].ManufacturingParameters = mp;
                            break;

                        case RecordType.FirmwareParameterData:
                            FirmwareParameterData fpd = page.Record[k] as FirmwareParameterData;
                            result[fpd.DisplayTime].FirmwareParameters = fpd.FPR;
                            break;

                        case RecordType.PcSoftwareParameter:
                            PcSoftwareParameter pcp = page.Record[k] as PcSoftwareParameter;
                            result[pcp.DisplayTime].PcSoftwareParameter = pcp;
                            break;

                        case RecordType.CalSet:
                        case RecordType.ReceiverLogData:
                        case RecordType.UserSettingData:
                        case RecordType.Deviation:
                            break;

                        default:
                            throw new NotImplementedException(page.RecordType.ToString());
                        }
                    }
                }
            }

            result.Order();
            return(result);
        }
示例#10
0
        private static void ReportUserInternal(
            UserEventData user,
            bool logFailure = true)
        {
            if (!m_enabled)
                return;

            var json = CreateWriter();
            user.Write(json);
            Report("user", json, logFailure);
        }
示例#11
0
 public UserDbViewModel(UserEventData edata)
 {
     userData = new ObservableCollection <UserEventData>();
     userData.Add(edata);
 }