public ObservableCollection <ParaListory> Handle(DateTime startTime, DateTime stopTime, string tbParaCode) { List <BsonDocument> finallyData = new List <BsonDocument>(); // ObservableCollection<ParaListory> paraList = new ObservableCollection<ParaListory>(); ObservableCollection <ParaListory> paraResultList = new ObservableCollection <ParaListory>(); int t1 = UTCHelper.ConvertDateTimeToInt(startTime); int t2 = UTCHelper.ConvertDateTimeToInt(stopTime); // Console.WriteLine(t1); // Console.WriteLine(t2); //ObservableCollection<ParaListory> paraResultList = ShowValues.ShowProjectValueAndSourceValue(); //DisplayValues.ItemsSource = paraResultList; //显示查询结果 finallyData = TimeServer.TimeRangeJudgment(t1, t2, tbParaCode, 1000); foreach (var item in finallyData) { paraResultList.Add(new ParaListory(UTCHelper.ConvertIntToDateTime(item[4].ToDouble()), item[2].ToString(), item[3].ToString())); //item[4] 时间 } return(paraResultList); /////////////////////////////////////////////////////////////////////////////////// }
public WpfTimeViewWindow() { InitializeComponent(); _24Hour = AppSettings.Instance.MilitaryTime == "true"; if (_24Hour) { TwentyFourHourButton.Background = Brushes.LightSkyBlue; TwelveHourButton.Background = Brushes.Transparent; } else { TwelveHourButton.Background = Brushes.LightSkyBlue; TwentyFourHourButton.Background = Brushes.Transparent; } _min = DataBaseManager.Instance.MinDate(); _max = DataBaseManager.Instance.MaxDate(); _baseDate = DataBaseManager.Instance.CurrentDay().Date; InitTimes(TimeServer.StartEndWeek(_baseDate)); }
private void InitTimes(List <DateTime> startEnd) { StackPanel.Children.Clear(); double totalHours = TimeServer.DecToQuarter(DataBaseManager.Instance.HoursInRange(startEnd[0], startEnd[1]).TotalHours); if (DateTimeFormatInfo.CurrentInfo != null) { WpfWeekViewBar weekViewBar = new WpfWeekViewBar(startEnd[0], totalHours); weekViewBar.DeleteWeekEvent += OnDeleteWeek; weekViewBar.EmailWeekEvent += HtmlTimeReporter.OnEmailWeek; weekViewBar.PreviewWeekEvent += HtmlTimeReporter.OnPreviewWeek; StackPanel.Children.Add(weekViewBar); } Day prev = new Day(new DateTime(2001, 1, 1)); foreach (Day day in DataBaseManager.Instance.DaysInRange(startEnd[0], startEnd[1])) { WpfDayViewBar datevViewBar = new WpfDayViewBar(day); datevViewBar.DayClickEvent += OnDateViewClick; datevViewBar.DeleteDayEvent += OnDeleteDayClick; StackPanel.Children.Add(datevViewBar); foreach (Time time in day.Times) { WpfTimeViewBar timeView = new WpfTimeViewBar(time, _24Hour); timeView.TimeDeleteEvent += TimeDeleteTime; timeView.TimeClickEvent += TimeViewTimeClick; StackPanel.Children.Add(timeView); } prev = day; } TotalTime.Content = totalHours; }
private void InitualizeView() { StackPanel.Children.Clear(); var a = TimeServer.StartEndWeek(_currentDate)[0]; var b = TimeServer.StartEndWeek(_currentDate)[1]; double hoursInWeek = DataBaseManager.Instance.HoursInRange(a, b).TotalHours; WpfWeekViewBar weekViewBar = new WpfWeekViewBar(a, TimeServer.DecToQuarter(hoursInWeek)) { Deletable = false }; weekViewBar.EmailWeekEvent += HtmlTimeReporter.OnEmailWeek; weekViewBar.PreviewWeekEvent += HtmlTimeReporter.OnPreviewWeek; StackPanel.Children.Add(weekViewBar); foreach (Day day in DataBaseManager.Instance.DaysInRange(a, b)) { WpfDayViewBar datevViewBar = new WpfDayViewBar(day) { Deletable = false }; datevViewBar.DayClickEvent += OnDateViewDayClick; StackPanel.Children.Add(datevViewBar); } ScrollViewer.ScrollToBottom(); btn_SelectedUser.Content = TimeServer.SqlCurrentUser; }
private void TwentyFour_Hour_Click(object sender, EventArgs e) { TwentyFourHourButton.Background = Brushes.LightSkyBlue; TwelveHourButton.Background = Brushes.Transparent; TimeFormatExpander.IsExpanded = false; AppSettings.Instance.MilitaryTime = "true"; _24Hour = AppSettings.Instance.MilitaryTime == "true"; InitTimes(TimeServer.StartEndWeek(_baseDate)); }
public void Test_PunchIn() { string key = TimeServer.GenerateId(); _instance.PunchIn(key); Time last = _instance.AllTimes().Last(); Assert.True(last.TimeIn.ToString(CultureInfo.InvariantCulture) == last.TimeOut.ToString(CultureInfo.InvariantCulture)); Assert.True(last.TimeIn.Millisecond == last.TimeOut.Millisecond); }
public void Test_PunchOut() { string key = TimeServer.GenerateId(); _instance.PunchIn(key); Thread.Sleep(100); _instance.PunchOut(key); Time last = _instance.AllTimes().Last(); Assert.True(last.TimeIn.Millisecond != last.TimeOut.Millisecond); }
public void Test_IsClockedIn() { string key = TimeServer.GenerateId(); Assert.False(_instance.IsClockedIn()); _instance.PunchIn(key); Assert.True(_instance.IsClockedIn()); Thread.Sleep(100); _instance.PunchOut(key); Assert.False(_instance.IsClockedIn()); }
public void Test_DeleteTime() { string key = TimeServer.GenerateId(); _instance.PunchIn(key); _instance.PunchOut(key); Assert.True(_instance.AllTimes().Count == 1); Time time = _instance.AllTimes().First(); _instance.DeleteTime(time.Key); Assert.True(_instance.AllTimes().Count == 0); }
private void OnDateViewClick(Day day) { if (day == null) { return; } WpfDayViewEdit dayView = new WpfDayViewEdit(day); dayView.ShowDialog(); InitTimes(TimeServer.StartEndWeek(_baseDate)); }
private void TimeViewTimeClick(WpfTimeViewBar viewBar) { string prevKey = viewBar.GetKey(); WpfTimeEdit timeEdit = new WpfTimeEdit(viewBar.GetTime()); var result = timeEdit.ShowDialog(); if (result.HasValue && result.Value) { DataBaseManager.Instance.UpdateTime(prevKey, timeEdit.Time); } InitTimes(TimeServer.StartEndWeek(_baseDate)); }
public MainWindow() { //ConsoleManager.Show(); conf = GlobalConfig.Instance; server = new MessageExchange(); timeserv = new TimeServer(); InitializeComponent(); Refresh = new Thread(new ThreadStart(RefreshListF)); server.startListening(); timeserv.startListening(); Refresh.Start(); string t = timeserv.generateData(); }
private void btn_Start_CheckedChanged(object sender, RoutedEventArgs e) { if (Equals(Start_Button.Background, Brushes.Green)) { ReLoadDay(); UpdateTime(); DataBaseManager.Instance.PunchIn(TimeServer.GenerateId());// unique 15 digit } else { DataBaseManager.Instance.PunchOut(DataBaseManager.Instance.LastTimeId()); UpdateTime(); UpdateGitIfEnabled(); } SetStartChecked(); }
public void Test_UpdateTime() { string key = TimeServer.GenerateId(); _instance.PunchIn(key); _instance.PunchOut(key); DateTime now = DateTime.Now; _instance.UpdateTime(key, new Time() { TimeIn = now, TimeOut = DateTime.MaxValue }); Time last = _instance.AllTimes().Last(); Assert.True(last.TimeIn.ToString(CultureInfo.InvariantCulture) == now.ToString(CultureInfo.InvariantCulture)); Assert.True(last.TimeOut.ToString(CultureInfo.InvariantCulture) == DateTime.MaxValue.ToString(CultureInfo.InvariantCulture)); }
public void Setup() { TimeServer.SqlCurrentUser = "******"; AppSettings.Instance = new AppSettings(); AppSettings.Instance.DataPath = "TimeData.sqlite"; AppSettings.Instance.MySqlDatabase = "test"; AppSettings.Instance.MySqlPassword = "******"; AppSettings.Instance.MySqlPort = 3306; AppSettings.Instance.MySqlServer = "localhost"; AppSettings.Instance.MySqlUserId = "WendallMartin"; DataBaseManager.Initualize(); _instance = DataBaseManager.Instance; _instance.AddUser(new User("nunit", "", new List <Day>())); TimeServer.SqlCurrentUser = "******"; }
static void Timer_RealTime_Tick(object sender, EventArgs e) { try { TimeServer = TimeServer.AddSeconds(1); Step10++; Step60++; Step5++; if (Step5 > 5) { Task.Factory.StartNew(() => { //Viết các hàm xử lý vào đây. }); Step5 = 0; } if (Step10 > 10) { Task.Factory.StartNew(() => { CommonBL.LoadDrivers_Active_LastUpdate(); CommonBL.LoadVehicles_Active_LastUpdate(); Config_Common.LoadConfigCommonByLastUpdate(); }); Step10 = 0; } if (Step60 > 60) { Task.Factory.StartNew(() => { //Viết các hàm xử lý vào đây. }); Step60 = 0; } } catch (Exception ex) { LogError.WriteLogError("Timer_RealTime_Tick", ex); } }
public ObservableCollection <InstructionParaListory> SearchDataForNeed(DateTime startTime, DateTime stopTime, string param, string whichPara) { List <BsonDocument> finallyData = new List <BsonDocument>(); ObservableCollection <InstructionParaListory> paraResultList = new ObservableCollection <InstructionParaListory>(); int t1 = UTCHelper.ConvertDateTimeToInt(startTime); int t2 = UTCHelper.ConvertDateTimeToInt(stopTime); // Console.WriteLine(t1); // Console.WriteLine(t2); //ObservableCollection<ParaListory> paraResultList = ShowValues.ShowProjectValueAndSourceValue(); //DisplayValues.ItemsSource = paraResultList; //显示查询结果 finallyData = TimeServer.GetBaseData(t1, t2, param, whichPara, 1000); foreach (var item in finallyData) { paraResultList.Add(new InstructionParaListory(UTCHelper.ConvertIntToDateTime(item[1].ToDouble()), item[2].ToString(), item[3].ToString(), item[4].ToString())); } return(paraResultList); }
public WpfWeekViewBar(DateTime dateTime, double hours) { BrushSelected = Brushes.DimGray; BrushUnselected = Brushes.Gray; _date = dateTime; Text = "Week - " + dateTime.Month + "//" + dateTime.Day + "//" + dateTime.Year + " Hours: " + $"{TimeServer.DecToQuarter(hours)}"; DeleteEvent += OnDeleteDay; SelectedEvent += OnMouseDown; }
public void Test_StartEndWeek() { Assert.True(TimeServer.StartEndWeek(DateTime.Now)[0].DayOfWeek == DayOfWeek.Sunday && TimeServer.StartEndWeek(DateTime.Now)[1].DayOfWeek == DayOfWeek.Saturday); Assert.True((TimeServer.StartEndWeek(DateTime.Now)[1].DayOfYear - TimeServer.StartEndWeek(DateTime.Now)[0].DayOfYear) == 6); }
private void OnDeleteDayClick(Day day) { DataBaseManager.Instance.DeleteDay(day.Date); InitTimes(TimeServer.StartEndWeek(_baseDate)); }
private void TimeDeleteTime(Time time) { DataBaseManager.Instance.DeleteTime(time.Key); InitTimes(TimeServer.StartEndWeek(_baseDate)); }
private void Btn_NextClick(object sender, RoutedEventArgs e) { _baseDate = new DateTime(Math.Min(_baseDate.AddDays(7).Ticks, _max.Date.Ticks)); InitTimes(TimeServer.StartEndWeek(_baseDate)); }
public void Test_PushPull() { Day day1 = new Day(new DateTime(2001, 11, 7, 9, 44, 15, 411)); List <Time> times1 = new List <Time>(); times1.Add(new Time(new DateTime(2001, 11, 7, 9, 44, 15, 411), new DateTime(2001, 11, 7, 12, 3, 1, 411)) { Key = TimeServer.GenerateId() }); times1.Add(new Time(new DateTime(2001, 11, 7, 1, 00, 00, 200), new DateTime(2001, 11, 7, 3, 00, 1, 999)) { Key = TimeServer.GenerateId() }); day1.Times = times1; day1.Details = "does this even work any more?"; Day day2 = new Day(new DateTime(2051, 11, 6, 8, 44, 15, 411)); List <Time> times2 = new List <Time>(); times2.Add(new Time(new DateTime(2051, 11, 6, 8, 44, 15, 411), new DateTime(2051, 11, 6, 12, 30, 1, 100)) { Key = TimeServer.GenerateId() }); times2.Add(new Time(new DateTime(2051, 11, 6, 10, 4, 15, 411), new DateTime(2051, 11, 6, 11, 44, 15, 411)) { Key = TimeServer.GenerateId() }); day2.Times = times2; day2.Details = "lets try again....."; Day day3 = new Day(new DateTime(2021, 4, 3, 5, 5, 5, 888)); List <Time> times3 = new List <Time>(); times3.Add(new Time(new DateTime(2021, 4, 3, 5, 5, 5, 888), new DateTime(2021, 4, 3, 8, 5, 9, 800)) { Key = TimeServer.GenerateId() }); times3.Add(new Time(new DateTime(2021, 4, 3, 1, 5, 9, 800), new DateTime(2021, 4, 3, 6, 55, 9, 800)) { Key = TimeServer.GenerateId() }); day3.Times = times3; day3.Details = "one more time!"; var push = new List <Day>() { day1, day2, day3 }; _instance.Push(push); var pull = _instance.Pull(); foreach (Day day in push) { bool contains = false; foreach (Day d in pull) { if (Day.Equals(day, d)) { contains = true; } } Assert.IsTrue(contains); } Assert.IsTrue(push.Count == pull.Count); }
public void Test_FixVersionMismatches() { TimeServer.SqlCurrentUser = "******"; DateTime dateTime = DateTime.Now; string dateString = TimeServer.DateSqLite(dateTime); string dateTimeString = TimeServer.DateTimeSqLite(dateTime); using (SQLiteCommand cmd = _instance.GetConnection.CreateCommand()) { cmd.CommandText = $"DROP TABLE IF EXISTS [{_instance.DayTableName}]"; cmd.ExecuteNonQuery(); cmd.CommandText = $"DROP TABLE IF EXISTS [{_instance.TimeTableName}]"; cmd.ExecuteNonQuery(); } using (SQLiteCommand cmd = _instance.GetConnection.CreateCommand()) { cmd.CommandText = $@"CREATE TABLE IF NOT EXISTS [{_instance.DayTableName}] ( [Date] TEXT, [Details] TEXT)"; cmd.ExecuteNonQuery(); cmd.CommandText = $"CREATE TABLE IF NOT EXISTS [{_instance.TimeTableName}]([Date] TEXT, [TimeIn] TEXT, [TimeOut] TEXT, [Key] INT)"; cmd.ExecuteNonQuery(); } using (SQLiteCommand cmd = _instance.GetConnection.CreateCommand()) { cmd.CommandText = $"INSERT INTO [{_instance.DayTableName}] VALUES(@Date, @Details)"; cmd.Parameters.Add(new SQLiteParameter("Date", dateString)); cmd.Parameters.Add(new SQLiteParameter("Details", "testing.....")); cmd.ExecuteNonQuery(); } using (SQLiteCommand cmd = _instance.GetConnection.CreateCommand()) { cmd.CommandText = $"INSERT INTO [{_instance.TimeTableName}] VALUES(@Date, @TimeIn, @TimeOut, @Key)"; cmd.Parameters.Add(new SQLiteParameter("Date", dateString)); cmd.Parameters.Add(new SQLiteParameter("TimeIn", dateTimeString)); cmd.Parameters.Add(new SQLiteParameter("TimeOut", dateTimeString)); cmd.Parameters.Add(new SQLiteParameter("Key", 6)); cmd.ExecuteNonQuery(); } using (SQLiteCommand cmd = _instance.GetConnection.CreateCommand()) { cmd.CommandText = $"INSERT INTO [{_instance.TimeTableName}] VALUES(@Date, @TimeIn, @TimeOut, @Key)"; cmd.Parameters.Add(new SQLiteParameter("Date", dateString)); cmd.Parameters.Add(new SQLiteParameter("TimeIn", dateTimeString)); cmd.Parameters.Add(new SQLiteParameter("TimeOut", dateTimeString)); cmd.Parameters.Add(new SQLiteParameter("Key", 8)); cmd.ExecuteNonQuery(); } using (SQLiteCommand cmd = _instance.GetConnection.CreateCommand()) { cmd.CommandText = $"INSERT INTO [{_instance.TimeTableName}] VALUES(@Date, @TimeIn, @TimeOut, @Key)"; cmd.Parameters.Add(new SQLiteParameter("Date", dateString)); cmd.Parameters.Add(new SQLiteParameter("TimeIn", dateTimeString)); cmd.Parameters.Add(new SQLiteParameter("TimeOut", dateTimeString)); cmd.Parameters.Add(new SQLiteParameter("Key", 7)); cmd.ExecuteNonQuery(); } var days = _instance.AllDays(); Assert.IsTrue(days[0].Times.Count == 3); _instance.FixVersionMismatches(); days = _instance.AllDays(); Assert.IsTrue(days[0].Times.Count == 3); foreach (Day day in days) { Assert.IsTrue(day.Details == "testing....."); Assert.IsTrue(day.Date.ToString() == dateTime.Date.ToString()); foreach (Time time in day.Times) { Assert.IsTrue(time.TimeIn.ToString() == dateTime.ToString()); Assert.IsTrue(time.TimeOut.ToString() == dateTime.ToString()); Assert.IsTrue(time.Key.Length > 1); } } }
private void Btn_PrevClick(object sender, RoutedEventArgs e) { _baseDate = new DateTime(Math.Max(_baseDate.AddDays(-7).Ticks, _min.Ticks)); InitTimes(TimeServer.StartEndWeek(_baseDate)); }
private void OnDeleteWeek(DateTime date) { DataBaseManager.Instance.DeleteRange(TimeServer.StartEndWeek(date)[0], TimeServer.StartEndWeek(date)[1]); InitTimes(TimeServer.StartEndWeek(_baseDate)); }