private Folder Parse(JArray jsonArray, IFileDataProviderService providerService) { var folder = new Folder(null); foreach (var jToken in jsonArray) { if (jToken.Type == JTokenType.String) { var bookmarkData = jToken.ToString().Split(SeparatorChar); if (bookmarkData.Length != 2) { throw new FormatException("wrong bookmark format!"); } var bookmark = new Bookmark(bookmarkData[0], DateTime.Parse(bookmarkData[1]).ToUniversalTime(), providerService); bookmark.Parent = folder; folder.Children.Add(bookmark); } if (jToken.Type == JTokenType.Object) { var jObject = (JObject)jToken; var firstProperty = jObject.Properties().First(); var folderName = firstProperty.Name; var innerJsonArray = (JArray)firstProperty.Value; var innerBookmarkFolder = Parse(innerJsonArray, providerService); innerBookmarkFolder.Name = folderName; innerBookmarkFolder.Parent = folder; folder.Children.Add(innerBookmarkFolder); } } return(folder); }
public FileProfile(string localPath, BookmarkFileType fileType, DateTime lastTimeUtc, IFileDataProviderService providerService) { LocalPath = localPath; FileType = fileType; LastTimeUtc = lastTimeUtc; ProviderService = providerService; }
public Folder Parse(string jsonString, IFileDataProviderService providerService) { var jsonArray = JArray.Parse(jsonString); return(Parse(jsonArray, providerService)); }
protected FilesGroup(string bookmarkName, DateTime lastTime, IFileDataProviderService providerService) : base(bookmarkName) { LastTime = lastTime; ProviderService = providerService; }
public Bookmark(string bookmarkName, DateTime lastTime, IFileDataProviderService providerService) : base(bookmarkName, lastTime, providerService) { FileTypes = new[] { BookmarkFileType.BookmarkBody, BookmarkFileType.BookmarkImage }; }