|
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using SampleDomain;
using TrafficCalming;
namespace RealTimeClient
{
public partial class MainForm : Form
{
private readonly OrderRepository _ordersRepository = new OrderRepository();
private DateTime _lastTimeUpdatedAt = DateTime.MinValue;
public MainForm()
{
InitializeComponent();
_ordersRepository.OrderArrived += HandleOrderArrived;
}
private void HandleOrderArrived(object sender, EventArgs e)
{
if (Handle == IntPtr.Zero)
return;
this.Invoke(new Action(UpdateOrdersGrid));
}
private void UpdateOrdersGrid()
{
var orders = _ordersRepository.ListFrom(_lastTimeUpdatedAt).ToList();
_ordersGrid.DataSource = orders ;
_lastTimeUpdatedAt = DateTime.Now;
}
private void MainFormLoad(object sender, System.EventArgs e)
{
_ordersRepository.StartGenerating();
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I Received a Bachelor's Degree in Computer Science at the Mathematics and Computer Science Faculty, University of Havana, Cuba.
I mainly work in web applications using C# and some Javascript. Some very few times do some Java.