public void OnAssetsAvailable(Infrastructure.DataEventArgs <List <Asset> > args)
 {
     // process overlays
     if (args.Error == null)
     {
         this.Overlays.Clear();
         args.Data.Where(a => a.GetType() == typeof(OverlayAsset)).Cast <OverlayAsset>().ForEach(oa => this.Overlays.Add(oa));
     }
 }
        private void OnGetProjectsCompleted(object sender, Infrastructure.DataEventArgs <List <Project> > e)
        {
            var retrivedProjects = new ObservableCollection <Project>();

            if (e.Data != null)
            {
                Uri currentProjectId = this.configurationService.GetProjectId();

                e.Data.ForEach(
                    x =>
                {
                    if (currentProjectId == null || x.ProviderUri != currentProjectId)
                    {
                        retrivedProjects.Add(x);
                    }
                });
            }

            this.Projects = retrivedProjects;
        }
        private void HandleCurrentSequenceChanged(object sender, Infrastructure.DataEventArgs <ISequenceModel> a)
        {
            this.View.SetDuration(this.sequenceRegistry.CurrentSequenceModel.Duration);

            if (a.Data != null && this.ShouldRemovePreviewsWhenSequenceChanges())
            {
                a.Data.PropertyChanged -= this.OnCurrentSequenceOnPropertyChanged;

                foreach (ITimelineBarElementModel model in this.timelineBarElements)
                {
                    this.RemovePreview(model);
                }

                this.timelineBarElements.Clear();
            }

            this.sequenceRegistry.CurrentSequenceModel.PropertyChanged += this.OnCurrentSequenceOnPropertyChanged;

            // collection is modified
            var comments = new List <Comment>(this.sequenceRegistry.CurrentSequence.CommentElements);

            foreach (var comment in comments)
            {
                this.AddPreview("Comment", comment);
            }

            var ads = new List <Contract.AdOpportunity>(this.sequenceRegistry.CurrentSequence.AdOpportunities);

            foreach (var adOpportunity in ads)
            {
                this.AddPreview("Ad", adOpportunity);
            }

            var markers = new List <Contract.Marker>(this.sequenceRegistry.CurrentSequence.Markers);

            foreach (var marker in markers)
            {
                this.AddPreview(marker is PlayByPlay ? "PlayByPlay" : "Marker", marker);
            }
        }
 private void CurrentSequenceChanged(object sender, Infrastructure.DataEventArgs <ISequenceModel> dataEventArgs)
 {
     this.LoadAds(this.sequenceRegistry.CurrentSequence);
 }
 private void LoadProjectList(object sender, Infrastructure.DataEventArgs <bool> dataEventArgs)
 {
     this.serviceFacade.GetProjectsByUserAsync(this.configurationService.GetUserName());
 }
 private void EventDataAdded(object sender, Infrastructure.DataEventArgs <EventData> e)
 {
     this.AddEvent(e.Data);
 }
 private void EventDataRemoved(object sender, Infrastructure.DataEventArgs <EventData> e)
 {
     this.RemoveEvent(e.Data);
 }