private int GetOpenTicketCount(int entityId, int ticketId) { var ids = _ticketServiceBase.GetOpenTicketIds(entityId).ToList(); if (ticketId > 0 && !ids.Contains(ticketId)) { ids.Add(ticketId); } return(ids.Count - (ticketId > 0 ? 1 : 0)); }
private void OnEntitySelectedForTicket(EventParameters <OperationRequest <Entity> > eventParameters) { if (eventParameters.Topic == EventTopicNames.EntitySelected) { FireEntitySelectedRule(eventParameters.Value.SelectedItem); if (SelectedTicket != null) { _ticketService.UpdateEntity(SelectedTicket, eventParameters.Value.SelectedItem); if (_applicationState.CurrentDepartment != null && _applicationState.CurrentDepartment.TicketCreationMethod == 0 && _applicationState.SelectedEntityScreen != null && SelectedTicket.Orders.Count > 0 && eventParameters.Value.SelectedItem.Id > 0 && _applicationState.TempEntityScreen != null && eventParameters.Value.SelectedItem.EntityTypeId == _applicationState.TempEntityScreen.EntityTypeId) { CloseTicket(); } else { DisplaySingleTicket(); } } else { var openTickets = _ticketServiceBase.GetOpenTicketIds(eventParameters.Value.SelectedItem.Id).ToList(); if (!openTickets.Any()) { if (_applicationState.SelectedEntityScreen != null && _applicationState.SelectedEntityScreen.AskTicketType && _cacheService.GetTicketTypes().Count() > 1 && _applicationState.TempTicketType == null) { _lastSelectedEntity = eventParameters.Value.SelectedItem; DisplayTicketTypeList(); return; } if (_applicationState.TempTicketType != null) { _applicationStateSetter.SetCurrentTicketType(_applicationState.TempTicketType); _applicationState.TempTicketType = null; } OpenTicket(0); _ticketService.UpdateEntity(SelectedTicket, eventParameters.Value.SelectedItem); } else if (openTickets.Count > 1) { _lastSelectedEntity = eventParameters.Value.SelectedItem; _ticketListViewModel.UpdateListByEntity(eventParameters.Value.SelectedItem); DisplayTicketList(); return; } else { OpenTicket(openTickets.ElementAt(0)); } EventServiceFactory.EventService.PublishEvent(EventTopicNames.ActivatePosView); } } }