private ConnectionItemCollection(CremaAppHostViewModel cremaAppHost, string filename, IEnumerable <ConnectionItemInfo> items) { this.cremaAppHost = cremaAppHost; this.filename = filename; foreach (var item in items) { var version = item.Version; var itemViewModel = new ConnectionItemViewModel(this.cremaAppHost) { Name = item.Name, Address = item.Address, DataBaseName = item.DataBaseName, ID = item.ID, ThemeColor = item.ThemeColor, Theme = item.Theme ?? CremaAppHostViewModel.Themes.First().Key, IsDefault = item.IsDefault, }; if (item.Password != null) { itemViewModel.Password = version == null?StringUtility.Encrypt(item.Password, item.ID) : item.Password; } base.Add(itemViewModel); } this.CollectionChanged += ConnectionItemInfoCollection_CollectionChanged; }
public static ConnectionItemCollection Read(CremaAppHostViewModel cremaAppHost, string filename) { try { using var stream = new FileStream(filename, FileMode.Open); var items = serializer.Deserialize(stream) as ConnectionItemInfo[]; var collection = new ConnectionItemCollection(cremaAppHost, filename, items); return(collection); } catch { return(new ConnectionItemCollection(cremaAppHost, filename)); } }
public ConnectionItemViewModel(CremaAppHostViewModel cremaAppHost) : base(cremaAppHost) { this.cremaAppHost = cremaAppHost ?? throw new ArgumentNullException(nameof(cremaAppHost)); }
private ConnectionItemCollection(CremaAppHostViewModel cremaAppHost, string filename) : this(cremaAppHost, filename, Enumerable.Empty <ConnectionItemInfo>()) { }