private LibraryDirectoryInfo(ISDataClient client, bool formMode, IDirectoryInfo parent, LibraryDirectory directory)
 {
     _client    = client;
     _formMode  = formMode;
     _parent    = parent;
     _directory = directory;
 }
        public async Task <LibraryDirectory> AddDirectory(string path)
        {
            var directory = new LibraryDirectory(path);

            Console.WriteLine("Adding {0} as {1}", path, directory.DirectoryPath);
            _mediaCollectionContext.Directories.Add(directory);
            await _mediaCollectionContext.SaveChangesAsync();

            return(directory);
        }
        public IDirectoryInfo CreateSubdirectory(string path)
        {
            if (path.IndexOf("\\", StringComparison.Ordinal) < 0)
            {
                var subDir = new LibraryDirectory
                {
                    DirectoryName = path,
                    ParentId      = _directory.Key
                };
                var info = new LibraryDirectoryInfo(_client, _formMode, this, subDir);
                info.Save(null);

                if (_directories != null)
                {
                    _directories.Add(info);
                }

                return(info);
            }

            throw new NotSupportedException();
        }
 public void Save(Stream stream)
 {
     _directory = string.IsNullOrEmpty(_directory.Key)
         ? _client.Post(_directory)
         : _client.Put(_directory);
 }
 public void Refresh()
 {
     _directory   = _client.Get <LibraryDirectory>(_directory.Key);
     _directories = null;
     _files       = null;
 }