Exemplo n.º 1
0
 internal AlbumViewModel(IViewService viewService, IAlbumService albumService, ITrackService trackService, ITrackFactory trackFactory, IDialogService dialogService)
 {
     _viewService   = viewService;
     _albumService  = albumService;
     _trackService  = trackService;
     _trackFactory  = trackFactory;
     _dialogService = dialogService;
 }
Exemplo n.º 2
0
 public Output(ITrackFactory trackFactory, IAirspace airspace, ISeparation separation)
 {
     airspace.OnAirspaceCheckEventDone  += Airspace_OnAirspaceCheckEventDone;
     trackFactory.OnTrackListDoneEvent  += TrackFactory_OnTrackListDoneEvent;
     airspace.OnPlaneEnteringAirspace   += Airspace_OnPlaneEnteringAirspace;
     airspace.OnPlaneExitingAirspace    += Airspace_OnPlaneExitingAirspace;
     separation.OnPlaneCollision        += Separation_OnPlaneCollision;
     separation.OnPlaneAvoidedCollision += Separation_OnPlaneAvoidedCollision;
 }
Exemplo n.º 3
0
 public NewLibraryBuilder(Uri libraryPath, ITrackFactory trackFactory, BackgroundWorker backgroundWorker)
 {
     _libraryPath = libraryPath;
     _trackFactory = trackFactory;
     _backgroundWorker = backgroundWorker;
     Library = new Model.Library
     {
         IsDirty = true
     };
 }
Exemplo n.º 4
0
 public NewLibraryBuilder(Uri libraryPath, ITrackFactory trackFactory, BackgroundWorker backgroundWorker)
 {
     _libraryPath      = libraryPath;
     _trackFactory     = trackFactory;
     _backgroundWorker = backgroundWorker;
     Library           = new Model.Library
     {
         IsDirty = true
     };
 }
Exemplo n.º 5
0
        public void Setup()
        {
            _trFakeData   = Substitute.For <ITransponderReceiver>();
            _trackFactory = new TrackFactory(_trFakeData);
            _airspace     = new Airspace(_trackFactory);
            _separation   = new Separation(_airspace);

            _uut = new Output(_trackFactory, _airspace, _separation);

            _insideAirspacePlane1 = new Track()
            {
                Altitude     = 8000,
                AltitudeOld  = 8000,
                Heading      = 0,
                Tag          = "PIE284",
                TimeStamp    = new DateTime(2018, 11, 1, 11, 11, 11, 0),
                TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0),
                Velocity     = 0,
                XCoord       = 15000,
                YCoord       = 15000,
                XCoordOld    = 16000,
                YCoordOld    = 16000
            };

            _insideAirspacePlane2 = new Track()
            {
                Altitude     = 8200,
                AltitudeOld  = 8200,
                Heading      = 0,
                Tag          = "PIE285",
                TimeStamp    = new DateTime(2018, 11, 1, 11, 11, 11, 0),
                TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0),
                Velocity     = 0,
                XCoord       = 18000,
                YCoord       = 18000,
                XCoordOld    = 17000,
                YCoordOld    = 17000
            };

            _insideAirspacePlane3 = new Track()
            {
                Altitude     = 8200,
                AltitudeOld  = 8200,
                Heading      = 0,
                Tag          = "PIE286",
                TimeStamp    = new DateTime(2018, 11, 1, 11, 11, 11, 0),
                TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0),
                Velocity     = 0,
                XCoord       = 12000,
                YCoord       = 12000,
                XCoordOld    = 17000,
                YCoordOld    = 17000
            };
        }
Exemplo n.º 6
0
        public void Setup()
        {
            _fakeTrackFactory = Substitute.For <ITrackFactory>();
            _fakeAirspace     = Substitute.For <IAirspace>();
            _fakeSeparation   = Substitute.For <ISeparation>();

            _uut = new Output(_fakeTrackFactory, _fakeAirspace, _fakeSeparation);


            _insideAirspacePlane1 = new Track()
            {
                Altitude     = 8000,
                AltitudeOld  = 8000,
                Heading      = 0,
                Tag          = "PIE284",
                TimeStamp    = new DateTime(2018, 11, 1, 11, 11, 11, 0),
                TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0),
                Velocity     = 0,
                XCoord       = 15000,
                YCoord       = 15000,
                XCoordOld    = 16000,
                YCoordOld    = 16000
            };
            _insideAirspacePlane2 = new Track()
            {
                Altitude     = 8200,
                AltitudeOld  = 8200,
                Heading      = 0,
                Tag          = "PIE285",
                TimeStamp    = new DateTime(2018, 11, 1, 11, 11, 11, 0),
                TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0),
                Velocity     = 0,
                XCoord       = 18000,
                YCoord       = 18000,
                XCoordOld    = 17000,
                YCoordOld    = 17000
            };

            _insideAirspacePlane3 = new Track()
            {
                Altitude     = 8200,
                AltitudeOld  = 8200,
                Heading      = 0,
                Tag          = "PIE286",
                TimeStamp    = new DateTime(2018, 11, 1, 11, 11, 11, 0),
                TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0),
                Velocity     = 0,
                XCoord       = 12000,
                YCoord       = 12000,
                XCoordOld    = 17000,
                YCoordOld    = 17000
            };
        }
Exemplo n.º 7
0
        public LocalLibraryService(
            ITracksRepository tracksRepository,
            ITrackFactory trackFactory,
            IPlaylistsRepository playlistsRepository,
            IPlaylistFactory playlistFactory)
        {
            this._tracksRepository    = tracksRepository ?? throw new ArgumentNullException(nameof(tracksRepository));
            this._trackFactory        = trackFactory ?? throw new ArgumentNullException(nameof(trackFactory));
            this._playlistsRepository = playlistsRepository ?? throw new ArgumentNullException(nameof(playlistsRepository));
            this._playlistFactory     = playlistFactory ?? throw new ArgumentNullException(nameof(playlistFactory));

            this._playlistBaseChangesSubscription = new SerialDisposable().DisposeWith(this._disposables);
            this._tracksChangesSubscription       = new SerialDisposable().DisposeWith(this._disposables);

            this.TracksChanges = ObservableChangeSet.Create <Track, uint>(
                async cache =>
            {
                var items = await this._tracksRepository.GetAllAsync();
                cache.AddOrUpdate(items);

                //return new CompositeDisposable(
                //    //this._tracksRepository.TracksAddeded.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems))),
                //    //this._tracksRepository.TracksRemoved.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.Remove(addedItems))),
                //    //this._tracksRepository.TracksUpdated.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems)))
                //    );
            },
                x => x.Id)
                                 // TODO: add synchronization to handle multiple subscriptions?
                                 .RefCount()
                                 //.Multicast(new ReplaySubject<IChangeSet<Track, uint>>())
                                 //.AutoConnect(1, subscription => this._tracksChangesSubscription.Disposable = subscription)
            ;

            this.PlaylistsChanges = ObservableChangeSet.Create <PlaylistBase, uint>(
                async cache =>
            {
                var items = await this._playlistsRepository.GetAllPlaylistsAsync();
                cache.AddOrUpdate(items);

                //return new CompositeDisposable(
                ////    this._playlistsRepository.Addeded.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems))),
                ////    this._playlistsRepository.Removed.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.Remove(addedItems))),
                ////    this._playlistsRepository.Updated.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems)))
                //);
            },
                x => x.Id)
                                    .RefCount()
                                    //.Multicast(new ReplaySubject<IChangeSet<PlaylistBase, uint>>())
                                    //.AutoConnect(1, subscription => this._playlistBaseChangesSubscription.Disposable = subscription)
            ;
        }
Exemplo n.º 8
0
        public PlaylistViewModel(ITrackFactory trackFactory, IMusicPlayerService musicPlayerService)
        {
            _musicPlayerService = musicPlayerService;

            Tracks = new BindableCollection <ITrackViewModel>(_musicPlayerService.Tracks.Select(trackFactory.MakeTrackViewModel));

            _musicPlayerService.PlaylistLoaded += (sender, e) =>
            {
                Tracks.Clear();
                Tracks.AddRange(e.Tracks.Select(trackFactory.MakeTrackViewModel));
            };

            _musicPlayerService.TrackChanged += (sender, e) => NotifyOfPropertyChange(() => SelectedTrackIndex);
        }
        public LocalLibraryService(
            ITracksRepository tracksRepository,
            ITrackFactory trackFactory,
            IPlaylistsRepository playlistsRepository,
            IPlaylistFactory playlistFactory)
        {
            this._tracksRepository    = tracksRepository ?? throw new ArgumentNullException(nameof(tracksRepository));
            this._trackFactory        = trackFactory ?? throw new ArgumentNullException(nameof(trackFactory));
            this._playlistsRepository = playlistsRepository ?? throw new ArgumentNullException(nameof(playlistsRepository));
            this._playlistFactory     = playlistFactory ?? throw new ArgumentNullException(nameof(playlistFactory));

            this.TracksChanges = ObservableChangeSet.Create <Track, uint>(
                async cache =>
            {
                var items = await this.GetTracksAsync(
                    //TimeSpan.FromSeconds(3)
                    );
                GC.Collect();
                cache.AddOrUpdate(items);
                GC.Collect();

                //return new CompositeDisposable(
                //    this._tracksRepository.Addeded.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems))),
                //    this._tracksRepository.Removed.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.Remove(addedItems))),
                //    this._tracksRepository.Updated.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems))));
            },
                x => x.Id)
                                 // TODO: add synchronization to handle multiple subscriptions?
                                 .RefCount();

            this.PlaylistsChanges = ObservableChangeSet.Create <PlaylistBase, uint>(
                async cache =>
            {
                var items = await this._playlistsRepository.GetAllPlaylistsAsync();
                cache.AddOrUpdate(items);

                //return new CompositeDisposable(
                //    this._playlistsRepository.Addeded.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems))),
                //    this._playlistsRepository.Removed.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.Remove(addedItems))),
                //    this._playlistsRepository.Updated.Subscribe(addedItems => cache.Edit(cacheUpdater => cacheUpdater.AddOrUpdate(addedItems))));
            },
                x => x.Id)
                                    .RefCount();
        }
Exemplo n.º 10
0
        public MainWindow(ITrackFactory trackFactory, IAppDataPersister <Library.Model.Library> libraryPersister)
        {
            _trackFactory     = trackFactory;
            _libraryPersister = libraryPersister;

            InitializeComponent();

            // Defaults
            Left   = Settings.Default.MainWindowLeft;
            Top    = Settings.Default.MainWindowTop;
            Width  = Settings.Default.MainWindowWidth;
            Height = Settings.Default.MainWindowHeight;
            MainGrid.ColumnDefinitions.First(c => c.Name == "NavigationColumn").Width = new GridLength(20, GridUnitType.Star);
            MainGrid.ColumnDefinitions.First(c => c.Name == "ContentColumn").Width    = new GridLength(80, GridUnitType.Star);

            Closing += MainWindow_Closing;

            _filesPath = @"M:\VA";
            _library   = _libraryPersister.Load(LibraryFileName) ?? new Library.Model.Library();
            BindLibrary();

            _mediaPlayer        = new WindowsMediaPlayer();
            _mediaPlayer.Volume = .5d;
        }
Exemplo n.º 11
0
        public MainWindow(ITrackFactory trackFactory, IAppDataPersister<Library.Model.Library> libraryPersister)
        {
            _trackFactory = trackFactory;
            _libraryPersister = libraryPersister;

            InitializeComponent();

            // Defaults
            Left = Settings.Default.MainWindowLeft;
            Top = Settings.Default.MainWindowTop;
            Width = Settings.Default.MainWindowWidth;
            Height = Settings.Default.MainWindowHeight;
            MainGrid.ColumnDefinitions.First(c => c.Name == "NavigationColumn").Width = new GridLength(20, GridUnitType.Star);
            MainGrid.ColumnDefinitions.First(c => c.Name == "ContentColumn").Width = new GridLength(80, GridUnitType.Star);

            Closing += MainWindow_Closing;

            _filesPath = @"M:\VA";
            _library = _libraryPersister.Load(LibraryFileName) ?? new Library.Model.Library();
            BindLibrary();

            _mediaPlayer = new WindowsMediaPlayer();
            _mediaPlayer.Volume = .5d;
        }
Exemplo n.º 12
0
 public Airspace(ITrackFactory track)
 {
     track.OnTrackListDoneEvent += Track_OnTrackListDoneEvent;
 }
Exemplo n.º 13
0
 public Conference(ITrackFactory factory)
 {
     tracks       = new List <Tracker>();
     trackFactory = factory;
 }
Exemplo n.º 14
0
 public void SetUp()
 {
     _fakeTransponderReceiver = Substitute.For <ITransponderReceiver>();
     _fakeTrackFactory        = Substitute.For <ITrackFactory>();
     _uut = new TransponderDataReceiver(_fakeTransponderReceiver, _fakeTrackFactory);
 }
 public TransponderDataReceiver(ITransponderReceiver transponderReceiver, ITrackFactory trackFactory)
 {
     _trackFactory = trackFactory;
     transponderReceiver.TransponderDataReady += HandleTransponderData;
 }
Exemplo n.º 16
0
        public void Setup()
        {
            _trFakeData = Substitute.For <ITransponderReceiver>();


            _trackFactory = new TrackFactory(_trFakeData);
            _uut          = new Airspace(_trackFactory);

            _insideAirspaceTrack = new Track()
            {
                Altitude     = 8000,
                AltitudeOld  = 0,
                Heading      = 0,
                Tag          = "PIE284",
                TimeStamp    = DateTime.Now, //DateTime.Parse("20170914T225015100Z"),
                TimeStampOld = DateTime.Now, //DateTime.Parse("20170914T225015100Z"),
                Velocity     = 0,
                XCoord       = 15000,
                YCoord       = 25000,
                XCoordOld    = 0,
                YCoordOld    = 0
            };

            _outsideAirspaceTrackAlt = new Track()
            {
                Altitude     = 10,
                AltitudeOld  = 0,
                Heading      = 0,
                Tag          = "AAA666",
                TimeStamp    = DateTime.Now, //DateTime.Parse("20170914225015100"),
                TimeStampOld = DateTime.Now, //DateTime.Parse("20170914225015100"),
                Velocity     = 0,
                XCoord       = 15000,
                YCoord       = 25000,
                XCoordOld    = 0,
                YCoordOld    = 0
            };

            _outsideAirspaceTrackX = new Track()
            {
                Altitude     = 8000,
                AltitudeOld  = 0,
                Heading      = 0,
                Tag          = "BBB666",
                TimeStamp    = DateTime.Now, //DateTime.Parse("20170914225015100"),
                TimeStampOld = DateTime.Now, //DateTime.Parse("20170914225015100"),
                Velocity     = 0,
                XCoord       = 150000,
                YCoord       = 25000,
                XCoordOld    = 0,
                YCoordOld    = 0
            };



            _outsideAirspaceTrackY = new Track()
            {
                Altitude     = 8000,
                AltitudeOld  = 0,
                Heading      = 0,
                Tag          = "CCC666",
                TimeStamp    = DateTime.Now, //DateTime.Parse("20170914225015100"),
                TimeStampOld = DateTime.Now, //DateTime.Parse("20170914225015100"),
                Velocity     = 0,
                XCoord       = 15000,
                YCoord       = 250000,
                XCoordOld    = 0,
                YCoordOld    = 0
            };



            //_fakeTrackFactory.OnTrackListDoneEvent += (o, args) => { testDictionary = args; };
        }
Exemplo n.º 17
0
        public void Setup()
        {
            _fakeTrackFactory = Substitute.For <ITrackFactory>();
            _uut = new Airspace(_fakeTrackFactory);

            _insideAirspaceTrack = new Track()
            {
                Altitude     = 8000,
                AltitudeOld  = 0,
                Heading      = 0,
                Tag          = "PIE284",
                TimeStamp    = DateTime.Now, //DateTime.Parse("20170914T225015100Z"),
                TimeStampOld = DateTime.Now, //DateTime.Parse("20170914T225015100Z"),
                Velocity     = 0,
                XCoord       = 15000,
                YCoord       = 25000,
                XCoordOld    = 0,
                YCoordOld    = 0
            };

            _outsideAirspaceTrackAlt = new Track()
            {
                Altitude     = 10,
                AltitudeOld  = 0,
                Heading      = 0,
                Tag          = "AAA666",
                TimeStamp    = DateTime.Now, //DateTime.Parse("20170914225015100"),
                TimeStampOld = DateTime.Now, //DateTime.Parse("20170914225015100"),
                Velocity     = 0,
                XCoord       = 15000,
                YCoord       = 25000,
                XCoordOld    = 0,
                YCoordOld    = 0
            };

            _outsideAirspaceTrackX = new Track()
            {
                Altitude     = 8000,
                AltitudeOld  = 0,
                Heading      = 0,
                Tag          = "BBB666",
                TimeStamp    = DateTime.Now, //DateTime.Parse("20170914225015100"),
                TimeStampOld = DateTime.Now, //DateTime.Parse("20170914225015100"),
                Velocity     = 0,
                XCoord       = 150000,
                YCoord       = 25000,
                XCoordOld    = 0,
                YCoordOld    = 0
            };

            _outsideAirspaceTrackY = new Track()
            {
                Altitude     = 8000,
                AltitudeOld  = 0,
                Heading      = 0,
                Tag          = "CCC666",
                TimeStamp    = DateTime.Now, //DateTime.Parse("20170914225015100"),
                TimeStampOld = DateTime.Now, //DateTime.Parse("20170914225015100"),
                Velocity     = 0,
                XCoord       = 15000,
                YCoord       = 250000,
                XCoordOld    = 0,
                YCoordOld    = 0
            };
        }
Exemplo n.º 18
0
        public void Setup()
        {
            _trFakeData   = Substitute.For <ITransponderReceiver>();
            _trackFactory = new TrackFactory(_trFakeData);
            _airspace     = new Airspace(_trackFactory);
            _uut          = new Separation(_airspace);

            _insideAirspacePlane1 = new Track()
            {
                Altitude     = 8000,
                AltitudeOld  = 8000,
                Heading      = 0,
                Tag          = "PIE284",
                TimeStamp    = new DateTime(2018, 11, 1, 11, 11, 11, 0),
                TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0),
                Velocity     = 0,
                XCoord       = 15000,
                YCoord       = 15000,
                XCoordOld    = 16000,
                YCoordOld    = 16000
            };
            _insideAirspacePlane2 = new Track()
            {
                Altitude     = 8200,
                AltitudeOld  = 8200,
                Heading      = 0,
                Tag          = "PIE285",
                TimeStamp    = new DateTime(2018, 11, 1, 11, 11, 11, 0),
                TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0),
                Velocity     = 0,
                XCoord       = 18000,
                YCoord       = 18000,
                XCoordOld    = 17000,
                YCoordOld    = 17000
            };
            _insideAirspacePlane3 = new Track()
            {
                Altitude     = 15000,
                AltitudeOld  = 15000,
                Heading      = 0,
                Tag          = "PIE286",
                TimeStamp    = new DateTime(2018, 11, 1, 11, 11, 11, 0),
                TimeStampOld = new DateTime(2018, 11, 1, 11, 11, 10, 0),
                Velocity     = 0,
                XCoord       = 18000,
                YCoord       = 18000,
                XCoordOld    = 17000,
                YCoordOld    = 17000
            };

            _uut.OnPlaneCollision += (s, e) =>
            {
                FoundPlanesOnCollision = true;

                if (e.Plane1.Tag == e.Plane2.Tag)
                {
                    Assert.Fail();
                }

                if (_insideAirspacePlane1.Tag == e.Plane1.Tag ||
                    _insideAirspacePlane1.Tag == e.Plane2.Tag ||
                    _insideAirspacePlane2.Tag == e.Plane1.Tag ||
                    _insideAirspacePlane2.Tag == e.Plane2.Tag)
                {
                    Assert.IsTrue(Math.Abs(e.Plane1.Altitude - e.Plane2.Altitude) <= verticalSeparation &&
                                  Math.Abs(e.Plane1.XCoord - e.Plane2.XCoord) <= horizontalSeparation &&
                                  Math.Abs(e.Plane1.YCoord - e.Plane2.YCoord) <= horizontalSeparation);
                }
                else
                {
                    Assert.Fail();
                }
            };
        }
Exemplo n.º 19
0
 public TrackManager(ITrackFactory factoryObj, ICategoricalObjectPool <BeatBlock> beatBlockPool)
 {
     trackFactory            = factoryObj;
     this.beatBlockPool      = beatBlockPool;
     isCurrentlyPlayingTrack = false;
 }
Exemplo n.º 20
0
 public TrackServices(ITrackRepository trackRepository, IUserRepository userRepository, ITrackFactory trackFactory)
 {
     _trackRepository = trackRepository;
     _userRepository  = userRepository;
     _trackFactory    = trackFactory;
 }