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).
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());
}