コード例 #1
0
        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;
        }
コード例 #2
0
 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));
     }
 }
コード例 #3
0
 public ConnectionItemViewModel(CremaAppHostViewModel cremaAppHost)
     : base(cremaAppHost)
 {
     this.cremaAppHost = cremaAppHost ?? throw new ArgumentNullException(nameof(cremaAppHost));
 }
コード例 #4
0
 private ConnectionItemCollection(CremaAppHostViewModel cremaAppHost, string filename)
     : this(cremaAppHost, filename, Enumerable.Empty <ConnectionItemInfo>())
 {
 }