client/src/Iri.Modernisation.Controls/ViewModel/Main/MainVM.cs
author totetm <>
Thu, 11 Feb 2010 17:29:23 +0100
changeset 42 594fdedecf7f
parent 36 b6df6fce6e5d
permissions -rw-r--r--
Fixed| bouton close sur BookTimeLine Fixed| loading blocker sur les éléments du corpus vidéolivre (book a charger) Fixed| afficher l'état sur on load et loader sur les éléments du corpus vidéolivre ("book a charger") Fixed| bug du title sur book timline Fixed| Actualisation de l'affichage des annotations sur seek de la timline sans play Fixed| Seek possible quand play Fixed| Bug sur le placement tetris ? Fixed| texte par default sur les champs d'annotations

using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Collections.Generic;
using Iri.Modernisation.Data.Models;
using Iri.Modernisation.BaseMVVM.Commands;
using Iri.Modernisation.BaseMVVM.ViewModel;
using System.Collections.ObjectModel;
namespace Iri.Modernisation.Controls.ViewModel
{
    /// <summary>
    /// ViewModel de Main
    /// </summary>
    public class MainVM : BaseMVVM.ViewModel.ViewModel
    {
        private ConsultationViewVM _consultationViewVM;
        /// <summary>
        /// ViewModel de ConsultationView
        /// </summary>
        public ConsultationViewVM ViewModelConsultationView
        {
            get
            {
                return _consultationViewVM;
            }
            set
            {
                _consultationViewVM = value;
                OnPropertyChanged("ViewModelConsultationView");
            }
        }

        private NavigationBarVM _navigationBarVM;
        /// <summary>
        /// ViewModel de NavigationBar
        /// </summary>
        public NavigationBarVM ViewModelNavigationBar
        {
            get
            {
                return _navigationBarVM;
            }
            set
            {
                _navigationBarVM = value;
                OnPropertyChanged("ViewModelNavigationBar");
            }
        }

        private HeaderControlVM _headerControlVM;
        /// <summary>
        /// ViewsModel de HeaderControl
        /// </summary>
        public HeaderControlVM ViewModelHeaderControl
        {
            get
            {
                return _headerControlVM;
            }
            set
            {
                _headerControlVM = value;
                OnPropertyChanged("ViewModelHeaderControl");
            }
        }

        private ProductionViewVM _productionViewVM;
        /// <summary>
        /// ViewModel de ProductionView
        /// </summary>
        public ProductionViewVM ViewModelProductionView
        {
            get
            {
                return _productionViewVM;
            }
            set
            {
                _productionViewVM = value;
                OnPropertyChanged("ViewModelProductionView");
            }
        }

        public MainVM()
        {

            
            List<VideoBook> SelectedVideoBooks = new List<VideoBook>();
            SelectedVideoBooks = SettingsProject.ListVideoBook;


            // Initialisation des Components //
            ViewModelProductionView = new ProductionViewVM() { RecordedVideoSequences = new ObservableCollection<VideoSequence>(SettingsProject.ProductionVideo) };
            ViewModelConsultationView = new ConsultationViewVM();
            ViewModelNavigationBar = new NavigationBarVM() { ConsultMenuViewModel = new ConsultMenuVM(SelectedVideoBooks) };
            ViewModelHeaderControl = new HeaderControlVM();
            InitializeCommands();
          
        }

        private void InitializeCommands()
        {
            Commands.Initialize();
            ViewModelConsultationView.BookDownloaded += new EventHandler<ConsultationVieVMSelectBookArg>(ViewModelConsultationView_BookDownloaded);
            ViewModelConsultationView.BookDeleted += new EventHandler<ConsultationVieVMSelectBookArg>(ViewModelConsultationView_BookDeleted);
        }

        private void ViewModelConsultationView_BookDeleted(object sender, ConsultationVieVMSelectBookArg e)
        {
            foreach (ConsultVideoBookVM Cvbm in ViewModelNavigationBar.ConsultMenuViewModel.VideoBooks)
            {
                if (Cvbm.VideoBook.LdtPath == e.Book.LdtPath)
                {
                    Cvbm.DownloadState =  Lang.LangResource.NotDownloadedLabel;
                    break;
                }
            }
        }

        private void ViewModelConsultationView_BookDownloaded(object sender, ConsultationVieVMSelectBookArg e)
        {
            foreach (ConsultVideoBookVM Cvbm in ViewModelNavigationBar.ConsultMenuViewModel.VideoBooks)
            {
                if(Cvbm.VideoBook.LdtPath == e.Book.LdtPath)
                {
                    Cvbm.DownloadState =  Lang.LangResource.DownloadedLabel;
                    break;
                }
            }
        }
       
    }
}