/// <summary> /// Initializes a new instance of the <see cref="NewsPostDto"/> class. /// </summary> /// <param name="postAdapter">The post adapter.</param> public NewsPostDto(IPostAdapter postAdapter) { PostId = postAdapter.Id; PostDate = postAdapter.Timestamp.ToUniversalTime(); PostTitle = postAdapter.Title; PostUrl = postAdapter.Url; }
/// <summary> /// Initializes a new instance of the <see cref="ThreadStatusDto"/> class. /// </summary> /// <param name="post">The post adapter.</param> /// <param name="request">The initial request object that triggered the retrieval of thread information.</param> public ThreadStatusDto(IPostAdapter post, ThreadStatusRequest request) { ThreadId = request.ThreadId; if (post == null) { PostId = request.PostId; LastPostDate = null; LastPosterUrlIdentifier = null; LastPostUrl = null; IsCallingCharactersTurn = true; IsQueued = false; return; } var note = post.GetMostRecentRelevantNote(request.CharacterUrlIdentifier, request.PartnerUrlIdentifier); var dateMarkedQueued = request.DateMarkedQueued?.ToUniversalTime(); var lastPostDate = note?.Timestamp.ToUniversalTime() ?? post.Timestamp.ToUniversalTime(); PostId = post.Id; LastPostDate = lastPostDate; LastPosterUrlIdentifier = note?.BlogName ?? post.BlogName; LastPostUrl = note != null ? note.BlogUrl + "post/" + note.PostId : post.Url; IsCallingCharactersTurn = !string.Equals(LastPosterUrlIdentifier, request.CharacterUrlIdentifier, StringComparison.CurrentCultureIgnoreCase); IsQueued = dateMarkedQueued != null && dateMarkedQueued.Value > lastPostDate; }
public HomeController() { _postAdapter = new PostAdapter(); }