public void Initialize(Shooter shooter) { _shooterParticipationDataStore = ServiceLocator.Current.GetInstance<IShooterParticipationDataStore>(); _collectionShooterDataStore = ServiceLocator.Current.GetInstance<ICollectionShooterDataStore>(); _shooterCollectionDataStore = ServiceLocator.Current.GetInstance<IShooterCollectionDataStore>(); _sessionDataStore = ServiceLocator.Current.GetInstance<ISessionDataStore>(); _sessionSubtotalDataStore = ServiceLocator.Current.GetInstance<ISessionSubtotalDataStore>(); _shotDataStore = ServiceLocator.Current.GetInstance<IShotDataStore>(); _sdk = ServiceLocator.Current.GetInstance<ServiceDeskConfiguration>(); SelectedGrouping = null; SelectedParticipation = null; Shooter = shooter; Participations = new ObservableCollection<ParticipationViewModel>(FetchParticipationsByShooter(Shooter)); Groupings = new ObservableCollection<GroupingViewModel>(FetchGroupsByShooter(Shooter)); SelectedPersonChanged(shooter.ShooterId); MessengerInstance.Register<RefreshDataFromRepositoriesMessage>(this, x => { Groupings = new ObservableCollection<GroupingViewModel>(FetchGroupsByShooter(Shooter)); Participations = new ObservableCollection<ParticipationViewModel>(FetchParticipationsByShooter(Shooter)); SelectedPersonChanged(Shooter.ShooterId); }); }
public void Initialize() { _personDataStore = ServiceLocator.Current.GetInstance<IPersonDataStore>(); _shooterDataStore = ServiceLocator.Current.GetInstance<IShooterDataStore>(); _sessionDataStore = ServiceLocator.Current.GetInstance<ISessionDataStore>(); _sessionSubtotalDataStore = ServiceLocator.Current.GetInstance<ISessionSubtotalDataStore>(); _shotDataStore = ServiceLocator.Current.GetInstance<IShotDataStore>(); _shooterParticipationDataStore = ServiceLocator.Current.GetInstance<IShooterParticipationDataStore>(); _sdk = ServiceLocator.Current.GetInstance<ServiceDeskConfiguration>(); }
public void Initialize() { _sdk = ServiceLocator.Current.GetInstance<ServiceDeskConfiguration>(); Participations = new ObservableCollection<ParticipationViewModel> ( _sdk.ParticipationDescriptions.GetAll().Select(x => new ParticipationViewModel { ProgramNumber = int.Parse(x.ProgramNumber), ProgramName = x.ProgramName }) ); }
public CreateGroupingViewModel(ServiceDeskConfiguration serviceDeskConfiguration) { Participations = new ObservableCollection<ParticipationDescription>( serviceDeskConfiguration.ParticipationDescriptions.GetAll() .Where(x => x.AllowShooterCollectionParticipation)); OkCommand = new ViewModelCommand(x => { ((IWindow)x).Close(); }); OkCommand.AddGuard(x => !string.IsNullOrWhiteSpace(GroupingName) && SelectedParticipation != null); }
public void Initialize() { _personDataStore = ServiceLocator.Current.GetInstance<IPersonDataStore>(); _shooterDataStore = ServiceLocator.Current.GetInstance<IShooterDataStore>(); _shooterNumberService = ServiceLocator.Current.GetInstance<IShooterNumberService>(); _shooterDataWriter = ServiceLocator.Current.GetInstance<ISsvShooterDataWriterService>(); _collectionShooterDataStore = ServiceLocator.Current.GetInstance<ICollectionShooterDataStore>(); _shooterCollectionDataStore = ServiceLocator.Current.GetInstance<IShooterCollectionDataStore>(); _serviceDeskConfiguration = ServiceLocator.Current.GetInstance<ServiceDeskConfiguration>(); MessengerInstance.Register<PersonSelectedMessage>(this, x => { UpdateCommandCanExecuteOnSelectedPersonChanged(); LoadShooters(x.PersonId); }); MessengerInstance.Register<SetSelectedPersonMessage>(this, x => { SelectedPerson = FilteredPersons.FirstOrDefault(person => person.PersonId == x.PersonId); }); MessengerInstance.Register<SetSelectedShooterMessage>(this, x => { SelectedShooter = Shooters.FirstOrDefault(s => s.Shooter.ShooterId == x.ShooterId); if (SelectedShooter == null) SelectedShooter = Shooters.FirstOrDefault(); }); MessengerInstance.Register<RefreshDataFromRepositoriesMessage>(this, x => { UiPerson selectedPerson = SelectedPerson; ShooterViewModel selectedShooter = SelectedShooter; LoadPersons(); if (selectedPerson != null) MessengerInstance.Send(new SetSelectedPersonMessage(selectedPerson.PersonId)); if (selectedShooter != null) MessengerInstance.Send(new SetSelectedShooterMessage(selectedShooter.Shooter.ShooterId)); }); }
public void ConfigureContainer() { ShootingRangeEntities entities = new ShootingRangeEntities(); _messenger = new Messenger(); ContainerBuilder builder = new ContainerBuilder(); builder.RegisterInstance(_messenger).As<IMessenger>(); IShooterNumberService shooterNumberService = new ShooterNumberService(new ShooterNumberConfigDataStore(entities)); IPersonDataStore personDataStore = new PersonDataStore(entities); IShooterCollectionDataStore shooterCollectionDataStore = new ShooterCollectionDataStore(entities); ICollectionShooterDataStore collectionShooterDataStore = new CollectionShooterDataStore(entities); IShooterDataStore shooterDataStore = new ShooterDataStore(entities); IShooterParticipationDataStore shooterParticipationDataStore = new ShooterParticipationDataStore(entities); ISessionDataStore sessionDataStore = new SessionDataStore(entities); ISessionSubtotalDataStore sessionSubtotalDataStore = new SessionSubtotalDataStore(entities); IShotDataStore shotDataStore = new ShotDataStore(entities); IBarcodePrintService barcodePrinter = new PtouchBarcodePrinter(); IBarcodeBuilderService barcodeBuilder = new Barcode2Of5InterleavedService(); ISsvShooterDataWriterService shooterDataWriter = new SsvFileWriter(@"C:\Sius\SiusData\SSVDaten\SSV_schuetzen.txt"); builder.RegisterInstance(shooterNumberService).As<IShooterNumberService>(); builder.RegisterInstance(personDataStore).As<IPersonDataStore>(); builder.RegisterInstance(shooterDataStore).As<IShooterDataStore>(); builder.RegisterInstance(new ShooterParticipationDataStore(entities)).As<IShooterParticipationDataStore>(); builder.RegisterInstance(shooterCollectionDataStore).As<IShooterCollectionDataStore>(); builder.RegisterInstance(collectionShooterDataStore).As<ICollectionShooterDataStore>(); builder.RegisterInstance(sessionDataStore).As<ISessionDataStore>(); builder.RegisterInstance(sessionSubtotalDataStore).As<ISessionSubtotalDataStore>(); builder.RegisterInstance(shotDataStore).As<IShotDataStore>(); builder.RegisterInstance(barcodePrinter).As<IBarcodePrintService>(); builder.RegisterInstance(barcodeBuilder).As<IBarcodeBuilderService>(); builder.RegisterInstance(shooterDataWriter).As<ISsvShooterDataWriterService>(); _vs = new ViewService(); ViewServiceHandler vsh = new ViewServiceHandler(); #region Windows and Dialogs _vs.RegisterFunction<MainWindowViewModel, IWindow>( (window, model) => vsh.GetOwnedWindow<MainWindow>((Window) window, model)); #endregion _vs.RegisterFunction<PersonsPageViewModel, IPage>( (window, model) => vsh.GetUserControl<UcPersons>((Window) window, model)); _vs.RegisterFunction<GroupsPageViewModel, IPage>( (window, model) => vsh.GetUserControl<UcGroups>((Window) window, model)); _vs.RegisterFunction<ResultsPageViewModel, IPage>( (window, model) => vsh.GetUserControl<UcResults>((Window) window, model)); _vs.RegisterFunction<RankViewModel, IPage>( (window, model) => vsh.GetUserControl<UcRankings>((Window) window, model)); _vs.RegisterFunction<CreatePersonViewModel, IWindow>( (window, model) => vsh.GetOwnedWindow<CreatePerson>((Window) window, model)); _vs.RegisterFunction<CreateGroupingViewModel, IWindow>( (window, model) => vsh.GetOwnedWindow<CreateGrouping>((Window) window, model)); _vs.RegisterFunction<EditGroupingViewModel, IWindow>( (window, model) => vsh.GetOwnedWindow<EditGrouping>((Window) window, model)); _vs.RegisterFunction<SelectParticipationViewModel, IWindow>( (window, model) => vsh.GetOwnedWindow<AddParticipationToShooterDialog>((Window) window, model)); _vs.RegisterFunction<SelectGroupingViewModel, IWindow>( (window, model) => vsh.GetOwnedWindow<AddGroupingToShooterDialog>((Window) window, model)); _vs.RegisterFunction<SelectShooterViewModel, IWindow>( (window, model) => vsh.GetOwnedWindow<AddShooterToGroupingDialog>((Window) window, model)); _vs.RegisterFunction<ReassignSessionViewModel, IWindow>( (window, model) => vsh.GetOwnedWindow<ReassignSessionDialog>((Window) window, model)); _vs.RegisterFunction<ReassignProgramNumberViewModel, IWindow>( (window, model) => vsh.GetOwnedWindow<ReassignProgramNumber>((Window) window, model)); _vs.RegisterFunction<YesNoMessageBoxViewModel, IWindow>( (w, m) => vsh.GetOwnedWindow<YesNoMessageBox>((Window) w, m)); _vs.RegisterFunction<MessageBoxViewModel, IWindow>((w, m) => vsh.GetOwnedWindow<OkMessageBox>((Window) w, m)); InitializeServiceDeskConfiguration(); _config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ServiceDeskConfiguration serviceDeskConfiguration = _config.GetSection("ServiceDeskConfiguration") as ServiceDeskConfiguration; if (serviceDeskConfiguration == null) { serviceDeskConfiguration = new ServiceDeskConfiguration(); _config.Sections.Add("ServiceDeskConfiguration", serviceDeskConfiguration); } builder.Register(c => serviceDeskConfiguration); IContainer container = builder.Build(); ServiceLocator.SetLocatorProvider(() => new AutofacServiceLocator(container)); PersonsPageViewModel personsPageViewModel = new PersonsPageViewModel(); personsPageViewModel.Initialize(); GroupsPageViewModel groupsPageViewModel = new GroupsPageViewModel(); groupsPageViewModel.Initialize(); ResultsPageViewModel resultsPageViewModel = new ResultsPageViewModel(); resultsPageViewModel.Initialize(); RankViewModel rankViewModel = new RankViewModel(); rankViewModel.Initialize(); RegisterCreatePersonDialog(personDataStore); RegisterEditPersonDialog(personDataStore); RegisterCreateGroupingDialog(shooterCollectionDataStore, serviceDeskConfiguration); RegisterEditGroupingDialog(shooterCollectionDataStore); RegisterDeletePersonDialog(personDataStore); RegisterDeleteGroupingDialog(shooterCollectionDataStore); RegisterAddShooterToGroupingDialog(collectionShooterDataStore); RegisterDeleteShooterDialog(shooterDataStore); RegisterAddGroupingToShooterDialog(collectionShooterDataStore); RegisterRemoveGroupingFromShooterDialog(collectionShooterDataStore); RegisterAddParticipationToShooterDialog(shooterParticipationDataStore); RegisterRemoveParticipationFromShooterDialog(shooterParticipationDataStore); RegisterMessageBoxDialog(); RegisterReassignSessionDialog(sessionDataStore); RegisterReassignShooterNumberDialog(sessionDataStore); RegisterShowShooterPageMessage(personsPageViewModel); RegisterShowGroupsPageMessage(groupsPageViewModel); // RegisterShowResultsPageMessage(resultsPageViewModel); RegisterShowRankingsPageMessage(rankViewModel); }
private void RegisterCreateGroupingDialog(IShooterCollectionDataStore shooterCollectionDataStore, ServiceDeskConfiguration serviceDeskConfiguration) { _messenger.Register<CreateGroupingDialogMessage>(this, x => { var m = new CreateGroupingViewModel(serviceDeskConfiguration) { Title = "Gruppierung erstellen" }; IWindow w = _vs.ExecuteFunction<CreateGroupingViewModel, IWindow>((IWindow) Current.MainWindow, m); bool? result = w.ShowDialog(); if (!result.HasValue || !result.Value) return; ShooterCollection sc = new ShooterCollection { CollectionName = m.GroupingName, ProgramNumber = int.Parse(m.SelectedParticipation.ProgramNumber) }; shooterCollectionDataStore.Create(sc); _messenger.Send(new RefreshDataFromRepositoriesMessage()); }); }
private static void InitializeServiceDeskConfiguration() { ServiceDeskConfiguration serviceDeskConfiguration = new ServiceDeskConfiguration(); Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); if (config.GetSection("ServiceDeskConfiguration") == null) { config.Sections.Add("ServiceDeskConfiguration", serviceDeskConfiguration); serviceDeskConfiguration.SectionInformation.ForceSave = true; config.Save(); } }