1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
| using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Input;
using GalaSoft.MvvmLight.Command;
namespace MSClient.ViewModels.Audio
{
/// <summary>
/// Fournit une liste de conférences afin d'en supprimer une ou plusieurs
/// </summary>
class DeleteAudioViewModel : BaseViewModel
{
#region Variables
private List<AUDIOCONFERENCES> _audioconferences;
private AUDIOCONFERENCES _selectedItem;
private List<AUDIOCONFERENCES> _selectedConferences;
private MSClient.Model.MultimediaServicesModel msModel;
private bool _isSelected;
private bool _pastChecked;
private bool _toComeChecked;
private bool _allChecked;
#endregion
#region Constructor
public DeleteAudioViewModel()
{
msModel = new Model.MultimediaServicesModel();
_audioconferences = msModel.GetAll<AUDIOCONFERENCES>().ToList();
_selectedConferences = new List<AUDIOCONFERENCES>();
// Erase comments to unlock the command
//DeleteCommand = new RelayCommand(ExecuteDeleteCommand, CanExecuteDeleteCommand);
}
#endregion
#region getters & setters
public List<AUDIOCONFERENCES> Audioconferences
{
get { return _audioconferences; }
set { _audioconferences = value; OnPropertyChanged("Audioconferences"); }
}
public AUDIOCONFERENCES SelectedItem
{
get { return _selectedItem; }
set { _selectedItem = value; OnPropertyChanged("SelectedItem"); }
}
public List<AUDIOCONFERENCES> SelectedConferences
{
get { return _selectedConferences; }
set { _selectedConferences = value; OnPropertyChanged("SelectedConferences"); }
}
public bool ToComeChecked
{
get { return _toComeChecked; }
set
{
_toComeChecked = value;
OnPropertyChanged("ToComeChecked");
if (value != false)
{
_audioconferences = msModel.GetById<AUDIOCONFERENCES>(c => c.date.Value.CompareTo(DateTime.Now) >= 0).ToList();
OnPropertyChanged("Audioconferences");
}
}
}
public bool PastChecked
{
get { return _pastChecked; }
set
{
_pastChecked = value;
OnPropertyChanged("PastChecked");
if (value != false)
{
_audioconferences = msModel.GetById<AUDIOCONFERENCES>(c => c.date.Value.CompareTo(DateTime.Now) < 0).ToList();
OnPropertyChanged("Audioconferences");
}
}
}
public bool AllChecked
{
get { return _allChecked; }
set
{
_allChecked = value;
OnPropertyChanged("AllChecked");
if (value != false)
{
_audioconferences = msModel.GetAll<AUDIOCONFERENCES>().ToList();
OnPropertyChanged("Audioconferences");
}
}
}
public bool IsSelected
{
get { return _isSelected; }
set
{
_isSelected = value;
OnPropertyChanged("IsSelected");
if (value != false)
_selectedConferences.Add(_selectedItem);
else _selectedConferences.Remove(_selectedItem);
}
}
#endregion
#region Commandes
public ICommand DeleteCommand;
public void ExecuteDeleteCommand()
{
foreach (AUDIOCONFERENCES audioconference in _selectedConferences)
{
msModel.Delete(audioconference);
}
msModel.Commit();
}
public bool CanExecuteDeleteCommand()
{
return _selectedConferences != null;
}
#endregion
}
} |
Partager