using System; using System.Collections.Generic; using System.Text; using System.ComponentModel; using Com.Piwigo.Lib.DTO; namespace Com.Piwigo.Uploader.DTO { public sealed class ModelManager { static readonly ModelManagerBase _instance = new ModelManagerBase(); // Explicit static constructor to tell C# compiler // not to mark type as beforefieldinit static ModelManager() { } public static ModelManagerBase Instance { get { return _instance; } } public class ModelManagerBase : INotifyPropertyChanged { private PwgSession _sess; public PwgSession sess { get { return _sess; } set { _sess = value; OnPropertyChanged("sess"); } } private SelectedPwgAlbumList _lstCat; public SelectedPwgAlbumList lstCat { get { return _lstCat; } set { _lstCat = value; OnPropertyChanged("lstCat"); } } private Int32 _PwgAlbumIdSelected; public Int32 PwgAlbumIdSelected { get { return _PwgAlbumIdSelected; } set { _PwgAlbumIdSelected = value; OnPropertyChanged("PwgAlbumIdSelected"); } } private LocalAlbumList _lstAlbumLocaux; public LocalAlbumList lstAlbumLocaux { get{ return _lstAlbumLocaux; } set { _lstAlbumLocaux = value; OnPropertyChanged("lstAlbumLocaux"); } } private LocalAlbum _AlbumEdited; public LocalAlbum AlbumEdited { get { return _AlbumEdited; } set { _AlbumEdited = value; OnPropertyChanged("AlbumEdited"); } } private LocalImage _ImageEdited; public LocalImage ImageEdited { get{ return _ImageEdited; } set { _ImageEdited = value; OnPropertyChanged("ImageEdited"); } } private Boolean _isConnected; public Boolean isConnected { get { return _isConnected; } set { _isConnected = value; OnPropertyChanged("isConnected"); } } private String _directoryName; public String directoryName { get{ return _directoryName; } set { _directoryName = value; OnPropertyChanged("directoryName"); } } private Uri _serveurName; public Uri serveurName { get{ return _serveurName; } set { _serveurName = value; OnPropertyChanged("serveurName"); } } private String _userName; public String userName { get{ return _userName; } set { _userName = value; OnPropertyChanged("userName"); } } private String _password; public String password { get { return _password; } set { _password = value; OnPropertyChanged("password"); } } public ModelManagerBase() { lstCat = new SelectedPwgAlbumList(); lstAlbumLocaux = new LocalAlbumList(); isConnected = false; AlbumEdited = new LocalAlbum(); ImageEdited = new LocalImage(); } internal void resetLstCat() { if (lstCat == null) { lstCat = new SelectedPwgAlbumList(); } else { lstCat.Clear(); } lstCat.Add(new SelectedAlbumListItem() { Id = PwgAlbum.RootAlbumId, ShowedValue = "Root album", Data=null, isSelected=true }); } public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(String info) { if (PropertyChanged != null) PropertyChanged(this, new PropertyChangedEventArgs(info)); } } } }