public UserIconLink_UserForApiContractViewModel(UserForApiContract user, int size = ImageHelper.UserTinyThumbSize, bool userInfo = false, bool tooltip = false) { User = user; Size = size; UserInfo = userInfo; Tooltip = tooltip; }
public DiscussionTopicContract(DiscussionTopic topic, IUserIconFactory userIconFactory, DiscussionTopicOptionalFields fields) { ParamIs.NotNull(() => topic); Author = new UserForApiContract(topic.Author, userIconFactory, UserOptionalFields.MainPicture); Created = topic.Created.ToUniversalTime(); FolderId = topic.Folder.Id; Id = topic.Id; Locked = topic.Locked; Name = topic.Name; if (fields.HasFlag(DiscussionTopicOptionalFields.Comments)) { Comments = topic.Comments.Select(c => new CommentForApiContract(c, userIconFactory)).ToArray(); } if (fields.HasFlag(DiscussionTopicOptionalFields.CommentCount)) { CommentCount = topic.Comments.Count; } if (fields.HasFlag(DiscussionTopicOptionalFields.Content)) { Content = topic.Content; } if (fields.HasFlag(DiscussionTopicOptionalFields.LastComment) && topic.Comments.Any()) { LastComment = new CommentForApiContract(topic.Comments.MaxItem(c => c.Created), userIconFactory, includeMessage: false); } }
public SongListForApiContract(SongList list, ContentLanguagePreference languagePreference, IUserIconFactory userIconFactory, IAggregatedEntryImageUrlFactory imagePersister, SongListOptionalFields fields) : base(list) { ParamIs.NotNull(() => list); Author = new UserForApiContract(list.Author, userIconFactory, UserOptionalFields.None); Deleted = list.Deleted; EventDate = list.EventDate; Status = list.Status; if (fields.HasFlag(SongListOptionalFields.Description)) { Description = list.Description; } if (fields.HasFlag(SongListOptionalFields.Events)) { Events = list.Events.Select(e => new ReleaseEventForApiContract(e, languagePreference, ReleaseEventOptionalFields.Venue, imagePersister)).OrderBy(e => e.Date).ThenBy(e => e.Name).ToArray(); } if (fields.HasFlag(SongListOptionalFields.MainPicture)) { MainPicture = list.Thumb != null ? new EntryThumbForApiContract(list.Thumb, imagePersister) : null; } if (fields.HasFlag(SongListOptionalFields.Tags)) { Tags = list.Tags.ActiveUsages.Select(u => new TagUsageForApiContract(u, languagePreference)).OrderByDescending(u => u.Count).ToArray(); } }
public SongListForApiContract(SongList list, IUserIconFactory userIconFactory, IEntryImagePersister imagePersister, bool ssl, SongListOptionalFields fields) : base(list) { ParamIs.NotNull(() => list); Author = new UserForApiContract(list.Author, userIconFactory, UserOptionalFields.None); EventDate = list.EventDate; if (fields.HasFlag(SongListOptionalFields.MainPicture)) { MainPicture = (list.Thumb != null ? new EntryThumbForApiContract(list.Thumb, imagePersister, ssl) : null); } }
public SongListContract(SongList list, IUserPermissionContext permissionContext) : base(list) { ParamIs.NotNull(() => list); Author = new UserForApiContract(list.Author); CanEdit = EntryPermissionManager.CanEditSongList(permissionContext, list); Deleted = list.Deleted; Description = list.Description; EventDate = list.EventDate; Status = list.Status; Thumb = (list.Thumb != null ? new EntryThumbContract(list.Thumb) : null); Version = list.Version; }
public AlbumReviewContract(AlbumReview review, IUserIconFactory userIconFactory) : this() { if (review == null) { throw new ArgumentNullException(nameof(review)); } Id = review.Id; AlbumId = review.Album.Id; Date = review.Date; LanguageCode = review.LanguageCode; Text = review.Text; Title = review.Title; User = new UserForApiContract(review.User, userIconFactory, UserOptionalFields.MainPicture); }
public ActivityEntryForApiContract(ActivityEntry activityEntry, EntryForApiContract entryForApiContract, IUserIconFactory userIconFactory, IUserPermissionContext permissionContext, ActivityEntryOptionalFields fields) { CreateDate = activityEntry.CreateDate.ToUniversalTime(); EditEvent = activityEntry.EditEvent; if (activityEntry.Author != null && ((permissionContext.IsLoggedIn && (permissionContext.LoggedUserId == activityEntry.Author.Id || permissionContext.HasPermission(PermissionToken.DisableUsers))) || !activityEntry.Author.AnonymousActivity)) { Author = new UserForApiContract(activityEntry.Author, userIconFactory, UserOptionalFields.MainPicture); } if (fields.HasFlag(ActivityEntryOptionalFields.ArchivedVersion) && activityEntry.ArchivedVersionBase != null) { ArchivedVersion = new ArchivedObjectVersionForApiContract(activityEntry.ArchivedVersionBase); } Entry = entryForApiContract; }
public DiscussionFolderContract(DiscussionFolder folder, DiscussionFolderOptionalFields fields, IUserIconFactory userIconFactory) { ParamIs.NotNull(() => folder); Description = folder.Description; Id = folder.Id; Name = folder.Name; if (fields.HasFlag(DiscussionFolderOptionalFields.LastTopic) && folder.Topics.Any()) { var lastTopic = folder.Topics.ToArray().MaxItem(t => t.Created); LastTopicAuthor = new UserForApiContract(lastTopic.Author, lastTopic.AuthorName, userIconFactory, UserOptionalFields.MainPicture); LastTopicDate = folder.Topics.Max(t => t.Created).ToUniversalTime(); } if (fields.HasFlag(DiscussionFolderOptionalFields.TopicCount)) { TopicCount = folder.Topics.Count(); } }
public UserIconLinkOrName_UserForApiContractViewModel(UserForApiContract user, string name, int size = 20) { User = user; Name = name; Size = size; }