コード例 #1
0
ファイル: PQubeReader.cs プロジェクト: tllaughn/openXDA
        private static string GetTrigger(ObservationRecord observationRecord)
        {
            string observationName = observationRecord.Name;
            string pattern         = "^[^a-zA-Z]*";

            return(Regex.Replace(observationName, pattern, "").Replace('_', ' '));
        }
コード例 #2
0
 /// <summary>
 /// 副作用入力画面を閉じ、表示元画面に遷移する。
 /// </summary>
 /// <param name="navi">ナビゲーションサービス</param>
 /// <param name="record">表示元画面に渡す観察記録</param>
 public static async void GoBackAsync(INavigationService navi,
                                      ObservationRecord record)
 {
     await navi.GoBackAsync(
         new NavigationParameters
     {
         { KEY_PARAM, new Parameter {
               Record = record
           } },
     });
 }
コード例 #3
0
        public void OnNavigatedTo(INavigationParameters parameters)
        {
            Debug.WriteLine("SideEffectPageViewModel.OnNavigatedTo()");

            if (parameters.GetNavigationMode() == NavigationMode.Back &&
                BasicSamplePageViewModel.Result.GetParameter(parameters
                                                             , out BasicSamplePageViewModel.Result.Parameter result))
            {
                // 副作用入力画面からの戻り。
                _record = result.Record;
            }
        }
コード例 #4
0
            /// <summary>
            /// 副作用入力画面に遷移する。
            /// </summary>
            /// <param name="navi">ナビゲーションサービス</param>
            /// <param name="master">画面遷移パラメータ</param>
            /// <param name="record">副作用入力画面に表示する観察記録</param>
            public static async void NavigateAsync(INavigationService navi
                                                   , ISideEffectItemMaster master, ObservationRecord record)
            {
                // パラメータチェック。
                if (master == null || record == null)
                {
                    throw new ArgumentException();
                }

                // 副作用入力画面に遷移する。
                NavigationParameters param = new NavigationParameters
                {
                    { KEY_MASTER, master },
                    { KEY_RECORD, record },
                };
                await navi.NavigateAsync("BasicSamplePage", param);
            }
コード例 #5
0
ファイル: PQDIFLoader.cs プロジェクト: tllaughn/openXDA
        // Takes a PQDIF time series and converts it to an array of 64-bit integer values in ticks.
        private static long[] ToTicks(SeriesInstance timeSeries)
        {
            ObservationRecord observation = timeSeries.Channel.ObservationRecord;
            long   startTime;
            double nominalFrequency;

            if (timeSeries.Definition.QuantityUnits == QuantityUnits.Seconds)
            {
                startTime = observation.StartTime.Ticks;

                // The time series contains values in seconds,
                // relative to the start time of the observation record
                return(timeSeries.OriginalValues
                       .Select(Convert.ToDouble)
                       .Select(Ticks.FromSeconds)
                       .Select(timeOffset => startTime + (long)timeOffset)
                       .ToArray());
            }
            else if (timeSeries.Definition.QuantityUnits == QuantityUnits.Timestamp)
            {
                // The time series contains values in absolute time
                return(timeSeries.OriginalValues
                       .Cast <DateTime>()
                       .Select(time => time.Ticks)
                       .ToArray());
            }
            else if (timeSeries.Definition.QuantityUnits == QuantityUnits.Cycles)
            {
                startTime        = observation.StartTime.Ticks;
                nominalFrequency = observation.Settings.NominalFrequency;

                // TODO: Is this correct (dividing by nominal frequency)?
                // The time series contains values in cycles,
                // relative to the start time of the observation record
                return(timeSeries.OriginalValues
                       .Select(Convert.ToDouble)
                       .Select(cycles => cycles / nominalFrequency)
                       .Select(Ticks.FromSeconds)
                       .Select(timeOffset => startTime + (long)timeOffset)
                       .ToArray());
            }

            // The time series does not contain timestamps...?
            return(null);
        }
コード例 #6
0
 /// <summary>
 /// 画面遷移パラメータから副作用マスタと観察記録を取得する。
 /// </summary>
 /// <param name="parameters">画面遷移パラメータ</param>
 /// <param name="master">画面遷移パラメータ</param>
 /// <param name="record">作用入力画面に表示する観察記録</param>
 public static void GetParameter(INavigationParameters parameters,
                                 out ISideEffectItemMaster master, out ObservationRecord record)
 {
     master = parameters.GetValue <ISideEffectItemMaster>(KEY_MASTER);
     record = parameters.GetValue <ObservationRecord>(KEY_RECORD);
 }