Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
 /// <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);
 }
Ejemplo n.º 3
0
        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;
            }
        }
Ejemplo n.º 4
0
 /// <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);
 }
Ejemplo n.º 5
0
        public RunningTrackerModel(IRunningTrackerDataAccess runningTrackerDataAccess = null)
        {
            _runningTrackerDataAccess = runningTrackerDataAccess;
            _runningData = null;
            _runningEnd  = false;

            _runningTimer = new Timer
            {
                Interval = 1000
            };
            _runningTimer.Elapsed += RunningTime_Elapsed;

            _remaningCalibratingLocation = DefaultCalibratingPosition;
        }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        /// <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();
            }
        }
Ejemplo n.º 9
0
 public bool PostRunningData(RunningData data)
 {
     return(true);
 }
Ejemplo n.º 10
0
 private void LoadData()
 {
     m_PerpetualData = SharedPrefs.LoadDecrypt <PerpetualData> (PerpetualData.PREFSKEY);
     m_SettingData   = SharedPrefs.LoadDecrypt <SettingData> (SettingData.PREFSKEY);
     m_RunningData   = new RunningData();
 }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
 /// <summary>
 /// Delete the running in the parameter.
 /// </summary>
 public void DeleteRunning(RunningData running)
 {
     _runningTrackerDataAccess.DeleteRunning(running);
 }
Ejemplo n.º 13
0
	private void LoadData ()
	{
		m_PerpetualData = SharedPrefs.LoadDecrypt<PerpetualData> (PerpetualData.PREFSKEY);
		m_SettingData  = SharedPrefs.LoadDecrypt<SettingData> (SettingData.PREFSKEY);
		m_RunningData = new RunningData ();
	}