Beispiel #1
0
        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));
        }
Beispiel #2
0
 public IObservable <string> DeleteBookmark(BookmarkItemViewModel vm)
 {
     DeleteBookmarkDB(vm.Url);
     return(client.DeletePost(vm.Url));
 }