public void Setup() { _mock = new Mock <IRunningTrackerDataAccess>(); List <RunningData> testRunningData = new List <RunningData>(); testRunningData.Add(new RunningData(new PersonalData())); testRunningData.Add(new RunningData(new PersonalData(Gender.Female, 150, 50))); RunningData testData = new RunningData(new PersonalData()); testData.AddLocation(new LocationData(20, 10, 0, 100, 50, 40)); testData.AddLocation(new LocationData(100, 110, 0, 100, 50, 40)); testRunningData.Add(testData); _mock.Setup(mock => mock.LoadPreviousRunnings()).Returns(testRunningData); WarningValues warningValues = new WarningValues(); _mock.SetupGet(mock => mock.CurrentWarningValues).Returns(warningValues); _model = new RunningTrackerModel(_mock.Object); _model.GpsReady += Model_GPS_Ready; _model.Warning += Model_Warning; _model.UserStopped += Model_UserStopped; }
/// <summary> /// Save the running in the parameter. /// </summary> public bool SaveRunning(RunningData running) { if (running.Locations.Count < 2) { return(false); } _runningTrackerDataAccess.SaveRunning(running); return(true); }
public static async Task Initialize(int hostPort) { //MyDocuments这个路径不会虚拟化,方便从Dart端读取 _runningDataFilePath = $"{Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)}\\{AppName}\\runningData.json"; _userSettingFilePath = $"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}\\{AppName}\\Config\\userSetting.json"; try { //应用程序数据 RunningData = await JsonHelper.JsonDeserializeFromFileAsync <RunningData>(_runningDataFilePath); if (RunningData == null) { //生成默认运行数据 RunningData = new RunningData(); } //更新端口号 RunningData.HostPort = hostPort; await JsonHelper.JsonSerializeAsync(RunningData, _runningDataFilePath); await LoadUserSetting(); //开机启动 DesktopBridge.Helpers helpers = new DesktopBridge.Helpers(); if (helpers.IsRunningAsUwp()) { _startupManager = new DesktopBridgeStartupManager(AppName); } else { string path = Assembly.GetEntryAssembly().Location.Replace(".dll", ".exe"); _startupManager = new DesktopStartupHelper(AppName, path); } await ApplySetting(UserSetting); if (RunningData.CurrentWalpapers != null) { foreach (var item in RunningData.CurrentWalpapers) { await WallpaperApi.ShowWallpaper(item.Value, item.Key); } } } catch (Exception ex) { logger.Error($"WallpaperStore constructor Ex:{ex}"); } finally { Initialized = true; } }
/// <summary> /// Stop and save the current running. /// </summary> public bool StopRunning() { if (_runningData != null) { _runningData.Finish(); _runningTimer.Stop(); _runningEnd = true; bool ret = SaveRunning(_runningData); _runningData = null; return(ret); } return(false); }
public RunningTrackerModel(IRunningTrackerDataAccess runningTrackerDataAccess = null) { _runningTrackerDataAccess = runningTrackerDataAccess; _runningData = null; _runningEnd = false; _runningTimer = new Timer { Interval = 1000 }; _runningTimer.Elapsed += RunningTime_Elapsed; _remaningCalibratingLocation = DefaultCalibratingPosition; }
internal static async Task SaveRunningData(RunningData data) { try { await JsonHelper.JsonSerializeAsync(data, _runningDataFilePath); //更新内存对象 RunningData = data; await ApplySetting(UserSetting); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex); } }
public void Initialize() { _mock = new Mock <IRunningTrackerDataAccess>(); List <RunningData> testRunningData = new List <RunningData>(); testRunningData.Add(new RunningData(new PersonalData())); testRunningData.Add(new RunningData(new PersonalData(Gender.Female, 150, 50))); RunningData testData = new RunningData(new PersonalData()); testData.AddLocation(new LocationData(20, 10, 0, 100, 50, 40)); testData.AddLocation(new LocationData(100, 110, 0, 100, 50, 40)); testRunningData.Add(testData); _mock.Setup(mock => mock.LoadPreviousRunnings()).Returns(testRunningData); _model = new RunningTrackerModel(_mock.Object); }
/// <summary> /// Start a new running /// </summary> public void StartRunning() { if (_remaningCalibratingLocation == 0) { _runningEnd = false; _runningData = new RunningData(CurrentPersonalDatas); _speedWarningFrequency = SpeedWarningFrequency; _distanceWarningYet = false; _timeWarningYet = false; _numOfContinuouslyStopsForSignal = NumOfContinuouslyStopsForSignal; _checkVerticalDistanceRemaining = 0; _previousRunningSpeed = RunningSpeed.StartPoint; _remaningSameColor = 0; _runningTimer.Start(); } else { throw new GpsNotReadyException(); } }
public bool PostRunningData(RunningData data) { return(true); }
private void LoadData() { m_PerpetualData = SharedPrefs.LoadDecrypt <PerpetualData> (PerpetualData.PREFSKEY); m_SettingData = SharedPrefs.LoadDecrypt <SettingData> (SettingData.PREFSKEY); m_RunningData = new RunningData(); }
public bool PostRunningData(RunningData data) { bool ret = true; string conString = WebConfigurationManager.ConnectionStrings["Database1"].ToString(); SqlConnection sqlConnection = new SqlConnection(conString); try { sqlConnection.Open(); SqlCommand cmd = new SqlCommand { Connection = sqlConnection, CommandText = "IF NOT EXISTS(SELECT * FROM DeviceData WHERE ID=@para1) INSERT INTO DeviceData(ID, ZeroFaultTime) VALUES(@para1, 0)" }; cmd.Parameters.Add("@para1", SqlDbType.Int).Value = data.ID; cmd.ExecuteNonQuery(); switch (data.Status) { case 0: cmd = new SqlCommand { Connection = sqlConnection, CommandText = "UPDATE DeviceShiftData SET Count = @para1, StopTime = @para2 WHERE ID = (SELECT TOP 1 ID FROM DeviceShiftData WHERE DeviceID=@para3 ORDER BY StartTime DESC)" }; cmd.Parameters.Add("@para1", SqlDbType.Int).Value = data.Count; cmd.Parameters.Add("@para2", SqlDbType.DateTime).Value = DateTime.Now; cmd.Parameters.Add("@para3", SqlDbType.Int).Value = data.ID; cmd.ExecuteNonQuery(); break; case 1: cmd = new SqlCommand { Connection = sqlConnection, CommandText = "INSERT INTO DeviceShiftData(DeviceID, Shift, Count, StartTime) VALUES(@para1, @para2, @para3, @para4)" }; cmd.Parameters.Add("@para1", SqlDbType.Int).Value = data.ID; cmd.Parameters.Add("@para2", SqlDbType.NVarChar).Value = data.Shift; cmd.Parameters.Add("@para3", SqlDbType.Int).Value = data.Count; cmd.Parameters.Add("@para4", SqlDbType.DateTime).Value = DateTime.Now; cmd.ExecuteNonQuery(); break; case 2: cmd = new SqlCommand { Connection = sqlConnection, CommandText = "UPDATE DeviceShiftData SET Count = @para1 WHERE ID = (SELECT TOP 1 ID FROM DeviceShiftData WHERE DeviceID=@para2 ORDER BY StartTime DESC)" }; cmd.Parameters.Add("@para1", SqlDbType.Int).Value = data.Count; cmd.Parameters.Add("@para2", SqlDbType.Int).Value = data.ID; cmd.ExecuteNonQuery(); break; } sqlConnection.Close(); } catch (Exception ex) { sqlConnection.Close(); ret = false; } return(ret); }
/// <summary> /// Delete the running in the parameter. /// </summary> public void DeleteRunning(RunningData running) { _runningTrackerDataAccess.DeleteRunning(running); }
private void LoadData () { m_PerpetualData = SharedPrefs.LoadDecrypt<PerpetualData> (PerpetualData.PREFSKEY); m_SettingData = SharedPrefs.LoadDecrypt<SettingData> (SettingData.PREFSKEY); m_RunningData = new RunningData (); }