private void ActivateEntityScreen(EntityScreen entityScreen) { entityScreen = _applicationStateSetter.SetSelectedEntityScreen(entityScreen); _applicationStateSetter.SetCurrentTicketType(entityScreen != null ? _cacheService.GetTicketTypeById(entityScreen.TicketTypeId) : null); if (entityScreen != null) { if (entityScreen.DisplayMode == 1) { ActivateEntitySearcher(entityScreen); } else if (entityScreen.DisplayMode == 2) { ActivateDashboard(entityScreen); } else { ActivateButtonSelector(entityScreen); } } RaisePropertyChanged(() => EntitySwitcherButtons); base.RaisePropertyChanged <bool>(Expression.Lambda <Func <bool> >(Expression.Property(Expression.Constant(this, typeof(EntitySwitcherViewModel)), (MethodInfo)MethodBase.GetMethodFromHandle(typeof(EntitySwitcherViewModel).GetMethod("get_CanDisplayCancelSelectionButton").MethodHandle)), new ParameterExpression[0])); base.RaisePropertyChanged <bool>(Expression.Lambda <Func <bool> >(Expression.Property(Expression.Constant(this, typeof(EntitySwitcherViewModel)), (MethodInfo)MethodBase.GetMethodFromHandle(typeof(EntitySwitcherViewModel).GetMethod("get_CanDisplayRemoveSelectionButton").MethodHandle)), new ParameterExpression[0])); EntitySwitcherButtons.ForEach(x => x.Refresh()); }
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); } } }
private void ActivateEntityScreen(EntityScreen entityScreen) { entityScreen = _applicationStateSetter.SetSelectedEntityScreen(entityScreen); _applicationStateSetter.SetCurrentTicketType(entityScreen != null ? _cacheService.GetTicketTypeById(entityScreen.TicketTypeId) : null); if (entityScreen != null) { if (entityScreen.DisplayMode == 1) { ActivateEntitySearcher(entityScreen); } else if (entityScreen.DisplayMode == 2) { ActivateDashboard(entityScreen); } else { ActivateButtonSelector(entityScreen); } } RaisePropertyChanged(nameof(EntitySwitcherButtons)); EntitySwitcherButtons.ForEach(x => x.Refresh()); }