using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Windows.Threading;
namespace StopKlok
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
DispatcherTimer dt = new DispatcherTimer();
Stopwatch stopWatch = new Stopwatch();
tijden tijdklasse = new tijden();
string currentTime = string.Empty;
public MainWindow()
{
InitializeComponent();
dt.Tick += new EventHandler(dt_Tick);
dt.Interval = new TimeSpan(0, 0, 0, 0, 1);
ClockTextBlock.Text = "00:00:00.00";
Load();
}
private const string JsonFileName = "times.json";
private List<tijden> _times;
private void Save()
{
var json = JsonConvert.SerializeObject(_times, Formatting.Indented);
using (var writer = new StreamWriter(JsonFileName))
{
writer.Write(json);
}
}
private void Load()
{
if (File.Exists(JsonFileName))
{
using (var reader = new StreamReader(JsonFileName))
{
var json = reader.ReadToEnd();
_times = JsonConvert.DeserializeObject<List<tijden>>(json);
}
}
else
{
_times = new List<tijden>();
}
}
void dt_Tick(object sender, EventArgs e)
{
if (stopWatch.IsRunning)
{
TimeSpan ts = stopWatch.Elapsed;
currentTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
ts.Hours, ts.Minutes, ts.Seconds, ts.Milliseconds / 10);
ClockTextBlock.Text = currentTime;
// tijdklasse.tijd = currentTime;
}
}
private void StartButton_Click(object sender, RoutedEventArgs e)
{
stopWatch.Start();
dt.Start();
}
private void StopButton_Click(object sender, RoutedEventArgs e)
{
// TimeElapsedItems.Items.Add(currentTime);
if (stopWatch.IsRunning)
stopWatch.Stop();
}
private void AddButton_Click(object sender, RoutedEventArgs e)
{
TimeElapsedItems.Items.Add(currentTime + " " + DateTime.Now.ToString());
// DTijd.Binding = new Binding("tijd");
GrTijd.Items.Add(new tijden() {tijd = currentTime,Dag = DateTime.Now.ToString() });
Save();
}
private void ResetButton_Click(object sender, RoutedEventArgs e)
{
stopWatch.Reset();
ClockTextBlock.Text = "00:00:00.00";
// stopWatch.Start();
}
private void ResetLbBtn_Click(object sender, RoutedEventArgs e)
{
// TimeElapsedItems.Items.Clear();
try
{
if (MessageBox.Show("Weet u zeker dat u de " + Environment.NewLine + TimeElapsedItems.SelectedItem + Environment.NewLine + "wilt wissen ?", "Wis", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
{
TimeElapsedItems.Items.RemoveAt(TimeElapsedItems.SelectedIndex);
}
}
catch (Exception)
{
// MessageBox.Show("test");
}
}
//bool wisklik = false;
private void BtnWis_Click(object sender, RoutedEventArgs e)
{
// wisklik = true;
if (MessageBox.Show("Weet u zeker dat u de listbox wilt wissen ?", "Wis", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
{
TimeElapsedItems.Items.Clear();
}
}
}
}