private void DisplaySingleTicket() { _applicationStateSetter.SetCurrentApplicationScreen(AppScreens.TicketView); if (ShouldDisplayEntityList(SelectedTicket)) { _ticketEntityListViewModel.Update(SelectedTicket); DisplayTicketEntityList(); return; } if (ShouldDisplayTicketTagList(SelectedTicket)) { _ticketTagListViewModel.Update(SelectedTicket); DisplayTicketTagList(); return; } if (SelectedTicket != null && !_userService.IsUserPermittedFor(PermissionNames.DisplayOtherWaitersTickets) && SelectedTicket.Orders.Any() && SelectedTicket.Orders[0].CreatingUserName != _applicationState.CurrentLoggedInUser.Name) { InteractionService.UserIntraction.GiveFeedback("Can't display this ticket"); EventServiceFactory.EventService.PublishEvent(EventTopicNames.CloseTicketRequested); return; } _regionManager.RequestNavigate(RegionNames.MainRegion, new Uri("PosView", UriKind.Relative)); _regionManager.RequestNavigate(RegionNames.PosMainRegion, new Uri("TicketView", UriKind.Relative)); _accountBalances.RefreshAsync(() => _ticketViewModel.RefreshVisuals()); _ticketViewModel.RefreshSelectedItems(); }
private void DisplaySingleTicket() { if (SelectedTicket != null && SelectedTicket.Orders.Count == 0 && _cacheService.GetTicketTagGroups().Count(x => x.AskBeforeCreatingTicket && !SelectedTicket.IsTaggedWith(x.Name)) > 0) { _ticketTagListViewModel.Update(SelectedTicket); DisplayTicketTagList(); return; } _regionManager.RequestNavigate(RegionNames.MainRegion, new Uri("PosView", UriKind.Relative)); _regionManager.RequestNavigate(RegionNames.PosMainRegion, new Uri("TicketView", UriKind.Relative)); _ticketViewModel.RefreshSelectedItems(); _ticketViewModel.RefreshVisuals(); }
private void CloseTicket() { if (SelectedTicket == null) { return; } if (!SelectedTicket.CanCloseTicket() && !SelectedTicket.IsTaggedWithDefinedTags(_cacheService.GetTicketTagGroupNames())) { //SaveTicketIfNew(); //_ticketViewModel.RefreshVisuals(); return; } if (_ticketOrdersViewModel.Orders.Count > 0 && SelectedTicket.GetRemainingAmount() == 0) { var message = GetPrintError(); if (!string.IsNullOrEmpty(message)) { _ticketOrdersViewModel.ClearSelectedOrders(); _ticketViewModel.RefreshVisuals(); InteractionService.UserIntraction.GiveFeedback(message); return; } } _ticketOrdersViewModel.ClearSelectedOrders(); var result = _ticketService.CloseTicket(SelectedTicket); if (!string.IsNullOrEmpty(result.ErrorMessage)) { InteractionService.UserIntraction.GiveFeedback(result.ErrorMessage); } SelectedTicket = null; if (_applicationState.CurrentTerminal.AutoLogout) { _userService.LogoutUser(false); } else { if (ExpectedAction != null) { ExpectedAction.Invoke(); } else { EventServiceFactory.EventService.PublishEvent(EventTopicNames.ActivatePosView); } } ExpectedAction = null; _messagingService.SendMessage(Messages.TicketRefreshMessage, result.TicketId.ToString(CultureInfo.InvariantCulture)); _applicationStateSetter.SetApplicationLocked(false); }