예제 #1
0
        public static TimeSpan?TimezoneOffset(this ActivityMesg activity)
        {
            if (activity == null)
            {
                return(null);
            }

            if (!activity.GetLocalTimestamp().HasValue)
            {
                return(null);
            }
            return(TimeSpan.FromSeconds((int)activity.GetLocalTimestamp() - (int)activity.GetTimestamp().GetTimeStamp()));
        }
예제 #2
0
        public static void OnActivityMesg(object sender, MesgEventArgs e)
        {
            ActivityValues values = new ActivityValues();
            ActivityMesg   mesg   = (ActivityMesg)e.mesg;

            try
            {
                values._totalTimerTime = mesg.GetTotalTimerTime();
                values._numSessions    = mesg.GetNumSessions();
                values._type           = mesg.GetType();
                values._actiEvent      = mesg.GetEvent();
                values._eventType      = mesg.GetEventType();
                uint?localTimeStamp = mesg.GetLocalTimestamp();
                if (localTimeStamp != null)
                {
                    values._localTimestamp = FitConvert.ToDateTime(((uint)localTimeStamp));
                }

                //Make sure properties with sub properties arent null before trying to create objects based on them
                if (mesg.GetTimestamp() != null)
                {
                    //values.timestamp = new Dynastream.Fit.DateTime(mesg.GetTimestamp().GetTimeStamp());
                    uint tc = (uint)mesg.GetTimestamp().GetTimeStamp();
                    values._timestamp = FitConvert.ToLocalDateTime(mesg.GetTimestamp().GetTimeStamp());
                }
            }
            catch (FitException exception)
            {
                Console.WriteLine("\tOnFileIDMesg Error {0}", exception.Message);
                Console.WriteLine("\t{0}", exception.InnerException);
            }
            DataManager.Instance.ActivityValues.Add(values);
        }
예제 #3
0
 public FitActivity(ActivityMesg msg)
 {
     Event          = msg.GetEvent();
     EventGroup     = msg.GetEventGroup();
     EventType      = msg.GetEventType();
     LocalTimestamp = msg.GetLocalTimestamp();
     NumSessions    = msg.GetNumSessions();
     Timestamp      = FitFile.GetDateTime(msg.GetTimestamp());
     TotalTimerTime = FitFile.GetTimeSpan(msg.GetTotalTimerTime());
     Type           = msg.GetType();
 }
예제 #4
0
 public static Dynastream.Fit.DateTime LocalTimestampAsFitDateTime(this ActivityMesg activity)
 {
     return(new Dynastream.Fit.DateTime(activity.GetLocalTimestamp() ?? 0));
 }
예제 #5
0
 public static System.DateTime LocalTimestampAsSystemDateTime(this ActivityMesg activity)
 {
     return(new System.DateTime((long)(activity.GetLocalTimestamp() ?? 0) * 10000000L + FitEpoch.Ticks, DateTimeKind.Local));
 }