Fixed the waiting time calculation and added graphical representation on the checkouts fill

This commit is contained in:
2023-01-11 13:23:56 +01:00
parent 1ba25e36da
commit 435193b59f
5 changed files with 56 additions and 42 deletions
+25 -1
View File
@@ -28,13 +28,37 @@ namespace Caisses
}
public void Draw(Bitmap checkoutAreaImage)
{
int radius = Math.Min(Size.Width, Size.Height / MAX_CAPACITY);
Size clientSize = new Size(radius,radius);
int xOffset = Size.Width / 2 - radius / 2;
Graphics g = Graphics.FromImage(checkoutAreaImage);
//g.DrawRectangle(new Pen(Color.FromArgb(Random.Next(0,255),Random.Next(0,255),Random.Next(0,255))),new Rectangle(Position,Size));
g.DrawRectangle(new Pen(Color.Black),new Rectangle(Position,Size));
if (Open)
{
g.FillRectangle(new SolidBrush(Color.Green),new Rectangle(Position, Size));
g.DrawString(Clients.Count().ToString(), new Font("Arial", 16), new SolidBrush(Color.White), new PointF(Position.X, Position.Y));
//g.DrawString(Clients.Count().ToString(), new Font("Arial", 16), new SolidBrush(Color.White), new PointF(Position.X, Position.Y));
if(Clients.Count > 0)
{
for (int i = 0; i < Clients.Count; i++)
{
Point clientPos = new Point(Position.X + xOffset, (i) * clientSize.Height + Position.Y);
if (i == 0)
{
g.FillEllipse(Brushes.BlueViolet, new Rectangle(clientPos, clientSize));
g.DrawString(Clients[i].CheckoutTime.ToString(), new Font("Arial", 16), new SolidBrush(Color.White), clientPos);
}
else
{
g.FillEllipse(Brushes.Violet, new Rectangle(clientPos, clientSize));
}
}
}
}
else
{