Display missing order tags when clicking "Done" in order tags view

When clicking “Done” after selecting order tags and there are order tag groups that still need a selection I think it would be nice for a popup to show instead of scrolling through trying to find missing tags.

When clicking “Done” a popup would show order tag groups needing attention (pay no mind to V3 - it’s the only source available).

2021-08-16_12;04_1629137097_%pn

Here’s what I put together using the SambaPOS v3 source. I overloaded IApplicationState.GetOrderTagGroups() to match SambaPOS v5’s implementation so the code should be drop-in ready (after translations, I would assume).

I added the following to OrderTagGroupEditorViewModel.OnCloseCommandExecuted():

var sb = new StringBuilder();
var order = CurrentOperationRequest.SelectedItem.SelectedOrders.First();
var orderTagGroups = _applicationState.GetOrderTagGroups(order.PortionName, new int[] { order.MenuItemId });
var requiredOrderTagGroups = orderTagGroups
	.Where(g => g.MinSelectedItems > 0)
	.ToList();

foreach (var group in requiredOrderTagGroups)
{
	var tagCount = order.GetOrderTagValues(g => g.OrderTagGroupId == group.Id).Count();

	if (tagCount < group.MinSelectedItems)
	{
		sb.AppendLine($@"""{group.Name}"" requires a minimum selection of {group.MinSelectedItems}.");
		sb.AppendLine("----------------------------");
	}
}

if (sb.Length > 0)
{
	InteractionService.UserIntraction.GiveFeedback(sb.ToString());
}
3 Likes

I think it should just highlight the group as in like 3 short blips of highlight color.

Something like this
image