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));
                });
        }
Example #6
0
        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);
        }
Example #7
0
        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());
                });
        }
Example #8
0
        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();
            }
        }