client/src/Iri.Modernisation.Controls/ViewModel/HeaderProduction/HeaderProductionVM.cs
changeset 27 f292db96b050
parent 26 44a2dc869e28
child 30 644e3cd48034
equal deleted inserted replaced
26:44a2dc869e28 27:f292db96b050
    15 namespace Iri.Modernisation.Controls.ViewModel
    15 namespace Iri.Modernisation.Controls.ViewModel
    16 {
    16 {
    17     public class HeaderProductionVM : BaseMVVM.ViewModel.ViewModel
    17     public class HeaderProductionVM : BaseMVVM.ViewModel.ViewModel
    18     {
    18     {
    19 
    19 
    20         private List<HeaderProductionChapter> _productionChapters;
    20         private List<HeaderProductionChapterVM> _productionChapters;
    21 
    21         public List<HeaderProductionChapterVM> ProductionChapters
    22         #region Avancement
       
    23 
       
    24 
       
    25         private bool _isChap01EditingComplete = false;
       
    26         public bool IsChap01EditingComplete
       
    27         {
    22         {
    28             get
    23             get
    29             {
    24             {
    30                 return _isChap01EditingComplete;
    25                 return _productionChapters;
    31             }
    26             }
    32             set
    27             set
    33             {
    28             {
    34                 _isChap01EditingComplete = value;
    29                 _productionChapters = value;
    35                 OnPropertyChanged("IsChap01EditingComplete");
    30                 OnPropertyChanged("ProductionChapters");
    36 
       
    37                 GeneralRefresh();
       
    38                 
       
    39             }
    31             }
    40         }
    32         }
    41         
    33 
    42         private bool _isChap01IndexingComplete = false;
    34         private HeaderProductionChapterVM _selectedChapter;
    43         public bool IsChap01IndexingComplete
    35         public HeaderProductionChapterVM SelectedChapter
    44         {
    36         {
    45             get
    37             get
    46             {
    38             {
    47                 return _isChap01IndexingComplete;
    39                 return _selectedChapter;
    48             }
    40             }
    49             set
    41             set
    50             {
    42             {
    51                 _isChap01IndexingComplete = value;
    43                 if (_selectedChapter != null)
    52                 OnPropertyChanged("IsChap01IndexingComplete");
    44                 {
    53                 GeneralRefresh();
    45                     _selectedChapter.HighLight = false;
       
    46                 }
       
    47 
       
    48                 _selectedChapter = value;
       
    49             
       
    50                     value.HighLight = true;
       
    51                     if (Change != null)
       
    52                         Change(this, new HeaderProductionVMArgs(SelectedChapter));
       
    53               
       
    54                 
       
    55                 OnPropertyChanged("SelectedChapter");
    54             }
    56             }
       
    57 
    55         }
    58         }
    56 
    59       
    57         private bool _isChap02EditingComplete = false;
       
    58         public bool IsChap02EditingComplete
       
    59         {
       
    60             get
       
    61             {
       
    62                 return _isChap02EditingComplete;
       
    63             }
       
    64             set
       
    65             {
       
    66                 _isChap02EditingComplete = value;
       
    67                 OnPropertyChanged("IsChap02EditingComplete");
       
    68                 GeneralRefresh();
       
    69             }
       
    70         }
       
    71 
       
    72         private bool _isChap02IndexingComplete = false;
       
    73         public bool IsChap02IndexingComplete
       
    74         {
       
    75             get
       
    76             {
       
    77                 return _isChap02IndexingComplete;
       
    78             }
       
    79             set
       
    80             {
       
    81                 _isChap02IndexingComplete = value;
       
    82                 OnPropertyChanged("IsChap02IndexingComplete");
       
    83                 GeneralRefresh();
       
    84             }
       
    85         }
       
    86 
       
    87         private bool _isChap03EditingComplete= false;
       
    88         public bool IsChap03EditingComplete
       
    89         {
       
    90             get
       
    91             {
       
    92                 return _isChap03EditingComplete;
       
    93             }
       
    94             set
       
    95             {
       
    96                 _isChap03EditingComplete = value;
       
    97                 OnPropertyChanged("IsChap03EditingComplete");
       
    98                 GeneralRefresh();
       
    99             }
       
   100         }
       
   101 
       
   102         private bool _isChap03IndexingComplete= false;
       
   103         public bool IsChap03IndexingComplete
       
   104         {
       
   105             get
       
   106             {
       
   107                 return _isChap03IndexingComplete;
       
   108             }
       
   109             set
       
   110             {
       
   111                 _isChap03IndexingComplete = value;
       
   112                 OnPropertyChanged("IsChap03IndexingComplete");
       
   113                 GeneralRefresh();
       
   114             }
       
   115         }
       
   116 
       
   117         private bool _isChap04EditingComplete= false;
       
   118         public bool IsChap04EditingComplete
       
   119         {
       
   120             get
       
   121             {
       
   122                 return _isChap04EditingComplete;
       
   123             }
       
   124             set
       
   125             {
       
   126                 _isChap04EditingComplete = value;
       
   127                 OnPropertyChanged("IsChap04EditingComplete");
       
   128                 GeneralRefresh();
       
   129             }
       
   130         }
       
   131 
       
   132         private bool _isChap04IndexingComplete= false;
       
   133         public bool IsChap04IndexingComplete
       
   134         {
       
   135             get
       
   136             {
       
   137                 return _isChap04IndexingComplete;
       
   138             }
       
   139             set
       
   140             {
       
   141                 _isChap04IndexingComplete = value;
       
   142                 OnPropertyChanged("IsChap04IndexingComplete");
       
   143                 GeneralRefresh();
       
   144             }
       
   145         }
       
   146         #endregion
       
   147 
       
   148         #region Etat des Boutton
       
   149         private void GeneralRefresh()
       
   150         {
       
   151             OnPropertyChanged(String.Empty);
       
   152             
       
   153         }
       
   154         public bool IsChap01EditingEnable
       
   155         {
       
   156             get
       
   157             {
       
   158                 return !IsChap01EditingComplete;
       
   159             }
       
   160         }
       
   161         public bool IsChap01IndexingEnable
       
   162         {
       
   163             get
       
   164             {
       
   165                 return IsChap01EditingComplete^IsChap01IndexingComplete;
       
   166             }
       
   167         }
       
   168         public bool IsChap02EditingEnable
       
   169         {
       
   170             get
       
   171             {      
       
   172                  return IsChap01EditingComplete ^ IsChap02EditingComplete;
       
   173             }
       
   174         }
       
   175         public bool IsChap02IndexingEnable
       
   176         {
       
   177             get
       
   178             {
       
   179                 return IsChap02EditingComplete ^ IsChap02IndexingComplete;
       
   180             }
       
   181         }
       
   182         public bool IsChap03EditingEnable
       
   183         {
       
   184             get
       
   185             {
       
   186                 return IsChap02EditingComplete ^ IsChap03EditingComplete;
       
   187             }
       
   188         }
       
   189         public bool IsChap03IndexingEnable
       
   190         {
       
   191             get
       
   192             {
       
   193                 return IsChap03EditingComplete ^ IsChap03IndexingComplete;
       
   194             }
       
   195         }
       
   196         public bool IsChap04EditingEnable
       
   197         {
       
   198             get
       
   199             {
       
   200                 return IsChap03EditingComplete ^ IsChap04EditingComplete;
       
   201             }
       
   202         }
       
   203         public bool IsChap04IndexingEnable
       
   204         {
       
   205             get
       
   206             {
       
   207                 return IsChap04EditingComplete^IsChap04IndexingComplete;
       
   208             }
       
   209         }
       
   210         #endregion
       
   211         public bool IsVideoBookComplete
    60         public bool IsVideoBookComplete
   212         {
    61         {
   213             get
    62             get
   214             {
    63             {
   215                 return _isChap01EditingComplete && _isChap01IndexingComplete
    64                 bool test = true;
   216                 && _isChap02EditingComplete && _isChap02IndexingComplete
    65                 foreach(HeaderProductionChapterVM Hpcvm in ProductionChapters )
   217                 && _isChap03EditingComplete && _isChap03IndexingComplete
    66                 {
   218                 && _isChap04EditingComplete && _isChap04IndexingComplete;
    67                     test = Hpcvm.Indexing && test; 
       
    68                 }
       
    69                 return test;
   219             }
    70             }
   220         }
    71         }
   221         private String _instruction;
    72         private String _instruction;
   222         /// <summary>
    73         /// <summary>
   223         /// Instruction
    74         /// Instruction
   234                 OnPropertyChanged("Instruction");
    85                 OnPropertyChanged("Instruction");
   235             }
    86             }
   236         }
    87         }
   237         public HeaderProductionVM()
    88         public HeaderProductionVM()
   238         {
    89         {
       
    90             _productionChapters = new List<HeaderProductionChapterVM>();
       
    91             HeaderProductionChapterVM temp = null;
       
    92             foreach (VideoChapterDescription Vcd in FactoryVideoLivre.VideoChapterDescriptions)
       
    93             {
       
    94                 temp = new HeaderProductionChapterVM(Vcd);
       
    95                 temp.Ended +=new HeaderProductionChapterVM.EndedDelegate(temp_Ended);
       
    96                 temp.EditEnded += new HeaderProductionChapterVM.EditEndedDelegate(temp_EditEnded);
       
    97                 temp.HighLight = false;
       
    98                _productionChapters.Add(temp);
       
    99                if(_productionChapters.Count > 1)
       
   100                {
       
   101                    _productionChapters[_productionChapters.Count - 2].EditEnded+=new HeaderProductionChapterVM.EditEndedDelegate(temp.Enable);
       
   102                   
       
   103                }
       
   104               
       
   105                 
       
   106             }
       
   107             _instruction = Iri.Modernisation.Controls.Resources.HeaderProduction.InstructionTextRessource.Introduction;
       
   108            
       
   109             InitializeCommands();
       
   110             ProductionChapters[0].Enable();
   239           
   111           
   240             _instruction = Iri.Modernisation.Controls.Resources.HeaderProduction.InstructionTextRessource.Introduction;
   112     
       
   113         }
   241 
   114 
   242             InitializeCommands();
   115         void temp_EditEnded()
       
   116         {
       
   117             if(Change!=null)
       
   118             Change(this,new HeaderProductionVMArgs(SelectedChapter));
       
   119         }
       
   120        
       
   121        
       
   122 
       
   123         void temp_Ended()
       
   124         {
       
   125             OnPropertyChanged("IsVideoBookComplete");
       
   126             if (Change != null)
       
   127                 Change(this, new HeaderProductionVMArgs(SelectedChapter));
   243         }
   128         }
   244         private void InitializeCommands()
   129         private void InitializeCommands()
   245         {
   130         {
   246                 Commands.HeaderProduction.Chap01EditingOkClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap01EditingOkClick_Executed);
   131         }
   247                 Commands.HeaderProduction.Chap02EditingOkClick.Executed+=new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap02EditingOkClick_Executed);
   132         public event EventHandler<HeaderProductionVMArgs> Change;
   248                 Commands.HeaderProduction.Chap03EditingOkClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap03EditingOkClick_Executed);
   133      
   249                 Commands.HeaderProduction.Chap04EditingOkClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap04EditingOkClick_Executed);
   134        
       
   135     }
       
   136     public class HeaderProductionVMArgs : EventArgs
       
   137     {
       
   138   
       
   139         public HeaderProductionChapterVM ChapterHeader { get; private set; }
   250 
   140 
   251                 Commands.HeaderProduction.Chap01IndexingOkClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap01IndexingOkClick_Executed);
   141         public HeaderProductionVMArgs( HeaderProductionChapterVM chapterHeader)
   252                 Commands.HeaderProduction.Chap02IndexingOkClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap02IndexingOkClick_Executed);
   142         {
   253                 Commands.HeaderProduction.Chap03IndexingOkClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap03IndexingOkClick_Executed);
   143             ChapterHeader = chapterHeader;
   254                 Commands.HeaderProduction.Chap04IndexingOkClick.Executed += new EventHandler<SLExtensions.Input.ExecutedEventArgs>(Chap04IndexingOkClick_Executed);
   144           
       
   145 
       
   146            
   255         }
   147         }
   256         #region OkClick
       
   257         #region Index
       
   258         private void Chap04IndexingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
       
   259         {
       
   260             IsChap04IndexingComplete = true;
       
   261         }
       
   262 
       
   263         private void Chap03IndexingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
       
   264         {
       
   265             IsChap03IndexingComplete = true;
       
   266         }
       
   267 
       
   268         private void Chap02IndexingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
       
   269         {
       
   270             IsChap02IndexingComplete = true;
       
   271         }
       
   272 
       
   273         private void Chap01IndexingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
       
   274         {
       
   275             IsChap01IndexingComplete = true;
       
   276         }
       
   277         #endregion
       
   278         #region Edit
       
   279         private void Chap04EditingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
       
   280         {
       
   281             IsChap04EditingComplete = true;
       
   282         }
       
   283 
       
   284         private void Chap03EditingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
       
   285         {
       
   286             IsChap03EditingComplete = true;
       
   287         }
       
   288 
       
   289         private void Chap02EditingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
       
   290         {
       
   291             IsChap02EditingComplete = true;
       
   292         }
       
   293         private void Chap01EditingOkClick_Executed(object sender, SLExtensions.Input.ExecutedEventArgs e)
       
   294         {
       
   295             this.IsChap01EditingComplete = true;
       
   296             GeneralRefresh();
       
   297         }
       
   298         #endregion
       
   299         #endregion
       
   300     }
   148     }
   301 }
   149 }