Ejemplo n.º 1
0
        internal void RemoveReference(ContentItemViewModelReference contentItem, PackageViewModel package)
        {
            List <PackageReference> packages;

            if (!_references.TryGetValue(contentItem.ContentItem, out packages))
            {
                throw new InvalidOperationException();
            }

            if (!packages.RemoveFirst(p => p.Package == package))
            {
                throw new InvalidOperationException();
            }

            // Remove empty lists
            if (packages.Count == 0)
            {
                _references.Remove(contentItem.ContentItem);
            }

            // Notify
            if (ReferenceRemoved != null)
            {
                ReferenceRemoved(this, new ReferenceArgs()
                {
                    ContentItem = contentItem, Package = package
                });
            }
        }
Ejemplo n.º 2
0
        internal void AddReference(ContentItemViewModelReference contentItem, PackageViewModel package)
        {
            List <PackageReference> packages;

            if (!_references.TryGetValue(contentItem.ContentItem, out packages))
            {
                packages = new List <PackageReference>();
                _references.Add(contentItem.ContentItem, packages);
            }

            packages.Add(new PackageReference {
                IsExplicit = contentItem.IsExplicit, Package = package
            });

            // Notify
            if (ReferenceAdded != null)
            {
                ReferenceAdded(this, new ReferenceArgs()
                {
                    ContentItem = contentItem, Package = package
                });
            }
        }