public static LinkModel FromLink(Link link, ControlModel owner) { return new LinkModel { Owner = owner, Link = link, Name = link.Url.ToString(), Hosting = link.Hosting }; }
public void Complete(Link link, Resource resource) { foreach (LinkModel model in this.Links) { if (model.Link.Url == link.Url) { model.Complete(resource); } } this.RecalculateButtons(); this.UpdateButtons(); }
private LinkModel GetOrCreate(Link link) { LinkModel model; if (this.cache.TryGetValue(link.Url, out model) == true) { return model; } model = LinkModel.FromLink(link, this); this.cache[link.Url] = model; return model; }
public void SetStatus(Link link, string status) { foreach (LinkModel model in this.Links) { if (model.Link.Url == link.Url) { model.SetStatus(status); } } this.RecalculateButtons(); this.UpdateButtons(); }
public void SetLinks(Link[] links) { this.Links = links.Select(this.GetOrCreate).ToArray(); this.Raise("Links"); this.RecalculateButtons(); this.UpdateButtons(); }