public string InsertOrUpdateTag(IContactTag tag) { string result = String.Empty; lock (_tags) { var target = _tags.FirstOrDefault(x => x.Key == tag.Key); if (target == null) { target = ContactTag.GetLocalObject(tag); result = target.Key = Guid.NewGuid().ToString("D"); _tags.Add(target); } else { _tags.Remove(target); _tags.Add(ContactTag.GetLocalObject(tag)); } } FlushDb(); return(result); }
public TagLocal(IContactTag source, AddressBookLocal addressBook, ContactsManager contactsManager) : this(-1, addressBook, contactsManager) { Key = source.Key; UpdateFrom(source); }
public void UpdateFrom(IContactTag source) { Name = source.Name; Color = source.Color; VersionKey = source.VersionKey == null ? String.Empty : source.VersionKey.ToString(); Key = source.Key; IsChanged = false; }
private static ContactTag CreateFromContactTag(IContactTag tag) { var result = new ContactTag() { Color = tag.Color, Key = tag.Key, Name = tag.Name }; result.SetVersionKey(tag.VersionKey); return(result); }
public string InsertOrUpdateTag(IContactTag tag) { throw new NotImplementedException(); }
public string InsertOrUpdateTag(IContactTag tag) { return(string.Empty); }
public static ContactTag GetLocalObject(IContactTag tag) { var result = tag as ContactTag; return(result ?? CreateFromContactTag(tag)); }