internal ListableOption_WebLink_Patch() { EntryLinks .ForEach(link => ToggleManager.Add( label: Format(link, ProgramState.Entry), root: ButtonCat.StartScreen, group: ButtonCat.LinksEntry )); PlayLinks .ForEach(link => ToggleManager.Add( label: Format(link, ProgramState.Playing), root: ButtonCat.PauseScreen, group: ButtonCat.LinksPlay )); }
internal WebsiteJob(WebsiteJob template) : this(template.Config) { PredefinedValues = new CrawlingPredefinedValues(template.PredefinedValues); foreach (var link in template.EntryLinks) { var entryLinkCopy = link.Copy(); entryLinkCopy.Job = this; EntryLinks.Add(entryLinkCopy); } InitializationDocumentLink = template.InitializationDocumentLink?.Copy() as InitializationLink; // is stateless, so we don't have to create a new object if (InitializationDocumentLink != null) { InitializationDocumentLink.Job = this; } }
public IMultiLink GetLinked(IMultiLink unlinkedLink) { var id = unlinkedLink.TargetId; IRootLink rootLink; if (RootLinks.TryGetValue(id, out rootLink)) { return(new EntryMultiLink(rootLink)); } IEntryLink entryLink; if (EntryLinks.TryGetValue(id, out entryLink)) { return(new EntryMultiLink(entryLink)); } IGroupLink groupLink; if (GroupLinks.TryGetValue(id, out groupLink)) { return(new GroupMultiLink(groupLink)); } IProfileLink profileLink; if (ProfileLinks.TryGetValue(id, out profileLink)) { return(new ProfileMultiLink(profileLink)); } IRuleLink ruleLink; if (RuleLinks.TryGetValue(id, out ruleLink)) { return(new RuleMultiLink(ruleLink)); } throw new ArgumentException( $"Link target not found. {nameof(unlinkedLink.TargetId)}='{unlinkedLink.TargetId}'", nameof(unlinkedLink)); }