client/src/Iri.Modernisation.Controls/ViewModel/Main/MainVM.cs
author totetm <>
Fri, 12 Feb 2010 16:22:57 +0100
changeset 47 9b26023b8c83
parent 42 594fdedecf7f
permissions -rw-r--r--
Fixed| bug si on ferme un livre en le lisant ReFixed|faire fonctionner le seek, même quand play n'est pas activer

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;
                }
            }
        }
       
    }
}