/// <summary> /// This is only ever required after pulling values out of the AtomFeed XML, and is done automatically. /// </summary> private void SyncToModel() { // Model.ProductCode = Id; Model.PackageDetails.SummaryDescription = Summary.Text; Model.PackageDetails.PublishDate = PublishDate.DateTime; var pub = Authors.FirstOrDefault(); if (pub != null) { Model.PackageDetails.Publisher = new Identity { Name = pub.Name, Location = pub.Uri != null?pub.Uri.ToUri() : null, Email = pub.Email }; } Model.PackageDetails.Contributors = Contributors.Select(each => new Identity { Name = each.Name, Location = each.Uri.ToUri(), Email = each.Email, }).ToXList(); Model.PackageDetails.Tags = Categories.Where(each => each.Scheme == "/Tags").Select(each => each.Name).ToXList(); Model.PackageDetails.Categories = Categories.Where(each => each.Scheme == "/Categories").Select(each => each.Name).ToXList(); var content = (Content as TextSyndicationContent); Model.PackageDetails.Description = content == null ? string.Empty : content.Text; Model.PackageDetails.CopyrightStatement = Copyright == null ? string.Empty : Copyright.Text; Model.Locations = Links.Select(each => each.Uri.AbsoluteUri.ToUri()).Distinct().ToXList(); }
public override object Get() { var values = Contributors.Select(binding => binding.Get()); var ctor = setCtor.Value; var set = ctor.Invoke(new object[] { values }); return(set); }
public override object Get() { return(new ReadOnlyHashSet <T>(Contributors.Select(binding => (T)binding.Get()))); }