Ejemplo n.º 1
0
        private async Task SyncListItem(IOfflineSupport item, Item i)
        {
            if (i.Deleted)
            {
                try
                {
                    var ret = await _client.DeleteListItemAsync(i.Id);

                    var list = _currentLists.FirstOrDefault(d => d.Id == i.ListId);
                    if (list.Items.Contains(i))
                    {
                        list.Items.Remove(i);
                    }
                    SetSynced(i);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
            }
            else
            {
                var ret = await _client.UpdateListItemAsync(i.ToRest());

                i.Id = ret.Id;
                var list = _currentLists.FirstOrDefault(d => d.Id == i.ListId);
                if (!list.Items.Contains(i))
                {
                    list.Items.Add(i);
                }
                SetSynced(i);
            }
        }
Ejemplo n.º 2
0
 private void AddSync(IOfflineSupport data)
 {
     data.NeedSync = true;
     if (!_syncItems.Contains(data))
     {
         _syncItems.Add(data);
         TriggerSync();
     }
 }
Ejemplo n.º 3
0
 private void SetDeleted(IOfflineSupport data)
 {
     data.Deleted  = true;
     data.NeedSync = true;
     if (!_syncItems.Contains(data))
     {
         _syncItems.Add(data);
     }
     TriggerSync();
 }
Ejemplo n.º 4
0
 private void SetSynced(IOfflineSupport i)
 {
     i.LastSync = DateTime.Now;
     _syncItems.Remove(i);
 }
Ejemplo n.º 5
0
 public void Delete(IOfflineSupport item)
 {
     SetDeleted(item);
 }