public void UpdateWithProject(dynamic project) { Guard.IsNotNull(project, nameof(project)); Model = project; // Set base properties Title = project.appName; Description = project.description; ReleaseDate = project.createdAt; if (project.externalLink != null) { Website = Link.Create(project.externalLink, ShortTitle + " website"); } if (project.heroImage != null) { Images.Add(new FileImage { Url = project.heroImage, ImageType = ImageType.Hero }); } if (project.appIcon != null) { Images.Add(new FileImage { Url = project.appIcon, ImageType = ImageType.Logo, BackgroundColor = project.accentColor, }); } // Set UWPC properties ProjectId = (int)project.id; if (project.downloadLink != null) { PackageUri = new(project.downloadLink); } if (project.githubLink != null) { GithubLink = Link.Create(project.githubLink, ShortTitle + " on GitHub"); } if (project.tags != null) { foreach (dynamic tag in project.tags) { Tags.Add(tag.name); } } Urn = new(UwpCommunityHandler.NAMESPACE_PROJECT, new RawNamespaceSpecificString(ProjectId.ToInvariantString())); }