public IObservable <string> SaveBookmark(BookmarkItemViewModel vm) { var post = new Post { Url = vm.Url, Title = vm.Title, Description = vm.Description, Shared = !vm.IsPrivate, Tags = vm.Tags.ToArray(), Time = DateTime.Now, ToReade = vm.IsUnread, }; LockAndUsingDB(context => { var target = context.Items.OfType <Post>().Where(x => x.Url == post.Url).FirstOrDefault(); if (target == null) { post.Id = Guid.NewGuid().ToString(); context.Items.InsertOnSubmit(post); } else { target.Title = vm.Title; target.Description = vm.Description; target.Shared = vm.IsPrivate; target.Tags = vm.Tags.ToArray(); target.Time = DateTime.Now; target.ToReade = vm.IsUnread; } context.SubmitChanges(); }); return(client.AddPost(post)); }
public IObservable <string> DeleteBookmark(BookmarkItemViewModel vm) { DeleteBookmarkDB(vm.Url); return(client.DeletePost(vm.Url)); }