Exemple #1
0
 internal Link Clone()
 {
     var link = new Link {
         Id = Id,
         Name = Name,
         Url = Url,
         Category = Category,
         Tags = new ObservableCollection<Tag>(Tags)
     };
     return link;
 }
        public async Task<int> RemoveTagFromLink(Link SelectedLink, Tag SelectedUsedTag) {
            try {
                _dataService.Links.Attach(SelectedLink);
                _dataService.Tags.Attach(SelectedUsedTag);

                SelectedLink.Tags.Remove(SelectedUsedTag);
                return await _dataService.SaveChangesAsync();
            } catch (Exception ex) {
                throw ex;
            }
        }
        public async Task<int> AddNewTagsToLink(Link SelectedLink, string[] newTags) {
            try {
                List<Tag> newTagsList = new List<Tag>();

                foreach (var newTagValue in newTags) {
                    var newTag = _autofac.Resolve<Tag>();
                    newTag.Value = newTagValue;

                    var result = CreateAsync(newTag);
                    Debug.WriteLine("Tag created: " + newTag.Value + "        Result: " + result);

                    newTagsList.Add(newTag);
                }

                _dataService.Links.Attach(SelectedLink);

                foreach (var tag in newTagsList)
                    SelectedLink.Tags.Add(tag);

                return await _dataService.SaveChangesAsync();
            } catch (Exception ex) {
                throw ex;
            }
        }
        public async Task<int> AddTagToLink(Link selectedLink, Tag selectedAvailableTag) {
            try {
                _dataService.Links.Attach(selectedLink);
                _dataService.Tags.Attach(selectedAvailableTag);

                selectedLink.Tags.Add(selectedAvailableTag);
                return await _dataService.SaveChangesAsync();
            } catch (Exception ex) {
                throw ex;
            }
        }