public void Merge(ICollection <RoutingMapLink> links, IAddress source) { var oldLinks = Links.ToList(); var linksToAdd = links.Where(link => !link.Contains(OwnAddress) && ((link.Contains(source) && link.Connected != Links.FirstOrDefault(l => Equals(l, link)).Connected) || link.Version > Links.FirstOrDefault(l => Equals(l, link)).Version)).ToList(); if (linksToAdd.Count > 0) { Version++; } foreach (var link in linksToAdd) { Links.Remove(link); } Links.AddRange(linksToAdd); foreach (var link in links.Where(l => !l.Connected)) { if (!Links.Contains(link)) { Links.Add(link); } } //Console.WriteLine("[{0}] MERGE {1} with {2} from {3} => {4}", OwnAddress, // oldLinks.ToDOT(longNames: config.LongNames), links.ToDOT(longNames: config.LongNames), source, Links.ToDOT(longNames: config.LongNames)); }
/// <summary> /// Perform a link handshake with the passed proxies and populate streams /// </summary> /// <param name="proxies">The proxies (interfaces) to bind the link on</param> /// <param name="address">Address to connect to, or null if proxy bound</param> /// <param name="ct">Cancels operation</param> /// <returns></returns> public async Task <bool> LinkAllAsync(IEnumerable <INameRecord> proxies, SocketAddress address, CancellationToken ct) { // Complete socket info Info.Address = address ?? new NullSocketAddress(); Info.Flags = address != null ? 0 : (uint)SocketFlags.Passive; Info.Options.UnionWith(_optionCache.Select(p => new SocketOptionValue(p.Key, p.Value))); var tasks = new List <Task <IProxyLink> >(); foreach (var proxy in proxies) { if (proxy == null) { break; } tasks.Add(CreateLinkAsync(proxy, ct)); } try { var results = await Task.WhenAll(tasks.ToArray()).ConfigureAwait(false); Links.AddRange(results.Where(v => v != null)); return(results.Any()); } catch (Exception ex) { ProxyEventSource.Log.HandledExceptionAsInformation(this, ex); // continue... } return(false); }
public HomeResponse() { Links.AddRange(new[] { new Link("/example-aggregates", Link.Relations.ExampleAggregates, WebRequestMethods.Http.Get), new Link("/example-aggregates", Link.Relations.ExampleAggregates, WebRequestMethods.Http.Post) }); }
internal void Inherit(List <IMappingConfig> parentMappingConfigs) { foreach (var m in parentMappingConfigs) { var notFoundProperties = m.Properties.FindAll(p => !PropertyNotFound(p.PropertyName)); Properties.AddRange(notFoundProperties); Links.AddRange(m.Links); } SetLinksAlias(); }
public NestedLinkGroup(IItemRouted groupItem, params IItemRouted[] childs) { if (groupItem == null) { throw new ArgumentNullException(nameof(groupItem)); } _groupItem = groupItem; if (childs != null && childs.Length > 0) { Links.AddRange(childs); } }
public TweetGroup(IGrouping <Tweet, Tweet> tg) { GroupStatusIDs = tg.Select(g => g.StatusID).ToList(); CreatedOn = DateTime.Now; StatusID = tg.Key.StatusID; TweetText = tg.Key.TweetText; CreatedAt = tg.Key.CreatedAt; TweetTime = tg.Key.TweetTime; RetweetCount = tg.Key.RetweetCount + tg.Where(t => t.User.Name != tg.Key.User.Name).Sum(t => t.RetweetCount); LinkRetweetCount = tg.SelectMany(x => x.Links).Sum(x => x.UrlTweetCount); LinkFacebookShareCount = tg.SelectMany(x => x.Links).Sum(x => x.UrlFacebookShareCount); User = tg.Key.Status.User; Links = tg.Where(t => t.User.Name != tg.Key.User.Name).SelectMany(x => x.Links).ToList(); Links.AddRange(tg.Key.Links.Where(l => l.Image != null || l.Video != null)); }
private void Parse(XElement rootElement) { Links.AddRange(rootElement.Elements(AtomNS + "link").Select(ParseLink)); XElement inlineCount = rootElement.Elements(MetadataNS + "count").SingleOrDefault(); if (inlineCount != null) { InLineCount = long.Parse(inlineCount.Value); } else { InLineCount = -1; } if (rootElement.Name.Equals(AtomNS + "entry")) { Entries.Add(ParseEntry(rootElement)); } else { Entries.AddRange(rootElement.Elements(AtomNS + "entry").Select(ParseEntry)); } }
public LinkOptions Preconnect(params string[] links) { Links.AddRange(links.Select(l => new Link(l, "preconnect")).ToArray()); return(this); }
public void EnsureSeedData(IHostingEnvironment env) { if (!LocaisAtividades.Any()) { LocaisAtividades.AddRange( new LocalAtividadeAcademica { Nome = "Coliseu do Porto", Latitude = 41.1469917, Longitude = -8.605416999999989 }, new LocalAtividadeAcademica { Nome = "Avenida dos Aliados", Latitude = 41.1484572, Longitude = -8.610746400000039 }, new LocalAtividadeAcademica { Nome = "Aula Magna da Universidade Portucalense", Latitude = 41.1804589, Longitude = -8.605948000000012 }, new LocalAtividadeAcademica { Nome = "Cidade do Porto", Latitude = 41.1494466, Longitude = -8.607507199999986 }, new LocalAtividadeAcademica { Nome = "Teatro Sá da Bandeira", Latitude = 41.146793, Longitude = -8.608879099999967 }, new LocalAtividadeAcademica { Nome = "Casa dos Arcos", Latitude = 41.1657561, Longitude = -8.670960700000023 } ); SaveChanges(); } if (!PontosVenda.Any()) { PontosVenda.AddRange( new PontoVenda { Nome = "FAP", Latitude = 41.1523043, Longitude = -8.636018499999977, DescricaoAdicional = "teste" }, new PontoVenda { Nome = "Campus S.João", Latitude = 41.18024569999999, Longitude = -8.604281899999933, DescricaoAdicional = "teste" }, new PontoVenda { Nome = "Queimódromo", Latitude = 41.17346102935757, Longitude = -8.68374690413475, DescricaoAdicional = "teste" }, new PontoVenda { Nome = "El Corte Inglés", Latitude = 41.125627, Longitude = -8.604804999999942, DescricaoAdicional = "teste" } ); SaveChanges(); } if (!Bilheteiras.Any()) { Bilheteira bilheteira = new Bilheteira { PrecoIngressoSemanal = 40.00m, Condicoes = "Teste Condições" }; Bilheteiras.Add(bilheteira); SaveChanges(); Link link_bilhete1 = new Link { Categoria = Categoria.Bilheteira, Descricao = "Link Bilhete dia 1", Url = "www.online.pt" }; Link link_bilhete2 = new Link { Categoria = Categoria.Bilheteira, Descricao = "Link Bilhete dia 2", Url = "www.online.pt" }; Link link_bilhete3 = new Link { Categoria = Categoria.Bilheteira, Descricao = "Link Bilhete dia 3", Url = "www.online.pt" }; Link link_bilhete4 = new Link { Categoria = Categoria.Bilheteira, Descricao = "Link Bilhete dia 4", Url = "www.online.pt" }; Link link_bilhete5 = new Link { Categoria = Categoria.Bilheteira, Descricao = "Link Bilhete dia 5", Url = "www.online.pt" }; Link link_bilhete6 = new Link { Categoria = Categoria.Bilheteira, Descricao = "Link Bilhete dia 6", Url = "www.online.pt" }; Link link_bilhete7 = new Link { Categoria = Categoria.Bilheteira, Descricao = "Link Bilhete dia 7", Url = "www.online.pt" }; Link link_bilhete8 = new Link { Categoria = Categoria.Bilheteira, Descricao = "Link Bilhete dia 8", Url = "www.online.pt" }; Link link_ingresso_semanal = new Link { Categoria = Categoria.Bilheteira, Descricao = "Link Ingresso Semanal", Url = "www.ingresso.pt" }; Links.AddRange(link_bilhete1, link_bilhete2, link_bilhete3, link_bilhete4, link_bilhete5, link_bilhete6, link_bilhete7, link_bilhete8, link_ingresso_semanal); SaveChanges(); bilheteira.Link = link_ingresso_semanal; bilheteira.LinkId = link_ingresso_semanal.Id; Bilhete bilhete_dia1 = new Bilhete { Data = new DateTime(2016, 05, 01), Link = link_bilhete1, LinkId = link_bilhete1.Id, PrecoNormal = 8.00m, PrecoDiaAnterior = 9.00m, PrecoNoDia = 10.00m, PrecoNoDiaForaHoras = 12.00m, Bilheteira = bilheteira, BilheteiraId = bilheteira.Id }; Bilhete bilhete_dia2 = new Bilhete { Data = new DateTime(2016, 05, 02), Link = link_bilhete2, LinkId = link_bilhete2.Id, PrecoNormal = 8.00m, PrecoDiaAnterior = 9.00m, PrecoNoDia = 10.00m, PrecoNoDiaForaHoras = 12.00m, Bilheteira = bilheteira, BilheteiraId = bilheteira.Id }; Bilhete bilhete_dia3 = new Bilhete { Data = new DateTime(2016, 05, 03), Link = link_bilhete3, LinkId = link_bilhete3.Id, PrecoNormal = 8.00m, PrecoDiaAnterior = 9.00m, PrecoNoDia = 10.00m, PrecoNoDiaForaHoras = 12.00m, Bilheteira = bilheteira, BilheteiraId = bilheteira.Id }; Bilhete bilhete_dia4 = new Bilhete { Data = new DateTime(2016, 05, 04), Link = link_bilhete4, LinkId = link_bilhete4.Id, PrecoNormal = 8.00m, PrecoDiaAnterior = 9.00m, PrecoNoDia = 10.00m, PrecoNoDiaForaHoras = 12.00m, Bilheteira = bilheteira, BilheteiraId = bilheteira.Id }; Bilhete bilhete_dia5 = new Bilhete { Data = new DateTime(2016, 05, 05), Link = link_bilhete5, LinkId = link_bilhete5.Id, PrecoNormal = 8.00m, PrecoDiaAnterior = 9.00m, PrecoNoDia = 10.00m, PrecoNoDiaForaHoras = 12.00m, Bilheteira = bilheteira, BilheteiraId = bilheteira.Id }; Bilhete bilhete_dia6 = new Bilhete { Data = new DateTime(2016, 05, 06), Link = link_bilhete6, LinkId = link_bilhete6.Id, PrecoNormal = 8.00m, PrecoDiaAnterior = 9.00m, PrecoNoDia = 10.00m, PrecoNoDiaForaHoras = 12.00m, Bilheteira = bilheteira, BilheteiraId = bilheteira.Id }; Bilhete bilhete_dia7 = new Bilhete { Data = new DateTime(2016, 05, 07), Link = link_bilhete7, LinkId = link_bilhete7.Id, PrecoNormal = 8.00m, PrecoDiaAnterior = 9.00m, PrecoNoDia = 10.00m, PrecoNoDiaForaHoras = 12.00m, Bilheteira = bilheteira, BilheteiraId = bilheteira.Id }; Bilhete bilhete_dia8 = new Bilhete { Data = new DateTime(2016, 05, 08), Link = link_bilhete8, LinkId = link_bilhete8.Id, PrecoNormal = 8.00m, PrecoDiaAnterior = 9.00m, PrecoNoDia = 10.00m, PrecoNoDiaForaHoras = 12.00m, Bilheteira = bilheteira, BilheteiraId = bilheteira.Id }; Bilhetes.AddRange(bilhete_dia1, bilhete_dia2, bilhete_dia3, bilhete_dia4, bilhete_dia5, bilhete_dia6, bilhete_dia7, bilhete_dia8); SaveChanges(); List <Bilhete> bilhetes_list = new List <Bilhete>(); bilhetes_list.Add(bilhete_dia1); bilhetes_list.Add(bilhete_dia2); bilhetes_list.Add(bilhete_dia3); bilhetes_list.Add(bilhete_dia4); bilhetes_list.Add(bilhete_dia5); bilhetes_list.Add(bilhete_dia6); bilhetes_list.Add(bilhete_dia7); bilhetes_list.Add(bilhete_dia8); bilheteira.Bilhetes = bilhetes_list; Bilheteiras.Update(bilheteira); SaveChanges(); } ; //if (!Atividades.Any()) //{ // List<PontoVenda> pontos_venda = PontosVenda.ToList(); // List<LocalAtividadeAcademica> locais = LocaisAtividades.ToList(); // Atividades.AddRange( // new AtividadeAcademica // { // Data = new DateTime(2016, 02, 01), // Descricao = "Descrição teste", // LocalAtividadeAcademica = locais.ElementAt(0), // Nome = "Sarau Cultural", // PontosVenda = "Coliseu do Porto, FAP", // ImagemPath = env.WebRootPath + "\\imagens\\atividades\\TOMANEPHOTOS056.jpg", // LocalAtividadeAcademicaId = locais.ElementAt(0).Id, // Preco = 3.00m // } // ); // SaveChanges(); //} if (!Artistas.Any()) { Artistas.Add( new Artista { Nome = "Dumitri Basiul", Biografia = "Dima tinha 12 anos quando começou a estudar música clássica. Depois disso emigrou para a Gronelândia", DataAtuacao = new DateTime(2016, 05, 12), ImagemPath = "\\imagens\\artistas\\Borgore.jpg", Palco = Palco.PalcoPrincipal, } ); SaveChanges(); } }
public override bool ProcessContentLinks() { string fname = Path.GetFileName(SourceFilePath); bool yml = string.Equals(fname, "toc.yml", StringComparison.InvariantCultureIgnoreCase); bool result = string.Equals(fname, "toc.md", StringComparison.InvariantCultureIgnoreCase) || yml || ContentHasAudienceApplicationUser(_content); if (result) { FoundLink[] links = FindAllLinks(yml, _content); Links.AddRange(links.Select(l => l.FullMatch)); foreach (FoundLink link in links.GroupBy(k => k).Select(k => k.Key)) { if (String.IsNullOrEmpty(link.Link.Trim())) { continue; } string linkClear = CleanLinkOfQueryAndHash(link.Link); if (linkClear.StartsWith("http", StringComparison.InvariantCultureIgnoreCase) || linkClear.EndsWith("toc.md", StringComparison.InvariantCultureIgnoreCase) || linkClear.EndsWith("toc.yml", StringComparison.InvariantCultureIgnoreCase) || linkClear.StartsWith("mailto", StringComparison.InvariantCultureIgnoreCase)) { continue; } try { string href = BuildFullUrl("/" + SourceFilePath, linkClear); ProcessLink(href, link.Link, new ConceptualItemParameter(ref _content, link, href)); } catch (Exception ex) { Logger.LogWarning($"Message: \"{ex.Message}\", File: \"{fname}\", Href: \"{link.Link}\""); } } FoundPicture[] pictures = FindAllPictures(_content); Pictures.AddRange(pictures.Select(p => p.FullMatch)); foreach (FoundPicture picture in pictures) { try { string href = BuildFullUrl("/" + SourceFilePath, GetOnlyLink(picture.Link1)); ProcessLink(href, picture.Link1, null); if (!String.IsNullOrEmpty(picture.Link2) && !picture.Link1.Equals(picture.Link2)) { string link2 = CleanLinkOfQueryAndHash(GetOnlyLink(picture.Link2)); href = BuildFullUrl("/" + SourceFilePath, link2); ProcessLink(href, picture.Link2, null); } } catch (Exception ex) { Logger.LogWarning($"Message: \"{ex.Message}\", File: \"{fname}\", Link1: \"{picture.Link1}\", Link2: \"{picture.Link2}\""); } } FoundLink[] includes = FindIncludedLinks(_content); foreach (FoundLink link in includes.GroupBy(k => k).Select(k => k.Key)) { if (String.IsNullOrEmpty(link.Link.Trim())) { continue; } string linkClear = CleanLinkOfQueryAndHash(link.Link); if (linkClear.StartsWith("http", StringComparison.InvariantCultureIgnoreCase) || linkClear.EndsWith("toc.md", StringComparison.InvariantCultureIgnoreCase) || linkClear.EndsWith("toc.yml", StringComparison.InvariantCultureIgnoreCase)) { continue; } try { string href = BuildFullUrl("/" + SourceFilePath, linkClear); if (!FilesToIgnore.Contains(href.TrimStart('\\'))) { FilesToIgnore.Add(href.TrimStart('\\')); } } catch (Exception ex) { Logger.LogWarning($"Message: \"{ex.Message}\", File: \"{fname}\", Href: \"{link.Link}\""); } } return(HasModified); } if (!(fname != null && fname.Equals("toc.md", StringComparison.InvariantCultureIgnoreCase))) { FilesToRemove.Add(SourceFilePath.TrimStart('\\')); } return(false); }