예제 #1
0
        public async Task PostComment(int entryId, CommentRequest commentRequest)
        {
            HttpStatusCode result = await TimelineOperations.AddTimelineEntryCommentAsync(
                DbContext, UserId, entryId, commentRequest);

            result.ThrowHttpResponseExceptionIfNotSuccessful();
        }
예제 #2
0
        public async Task PostLike(int entryId, LikeRequest likeRequest)
        {
            HttpStatusCode result = await TimelineOperations.AddOrRemoveTimelineEntryLikeAsync(
                DbContext, UserId, entryId, likeRequest);

            result.ThrowHttpResponseExceptionIfNotSuccessful();
        }
예제 #3
0
        /// <summary>
        /// Adds a new entry to the timeline.
        /// </summary>
        /// <param name="createMessage">The entry to add.</param>
        /// <returns></returns>
        public async Task Post(CreateTimelineEntry createMessage)
        {
            UserInfo userEntity = await GetUserInfoAsync();

            HttpStatusCode result = await TimelineOperations.AddTimelineEntryAsync(createMessage, DbContext, userEntity);

            result.ThrowHttpResponseExceptionIfNotSuccessful();
        }
예제 #4
0
        public async Task <ActionResult> Index()
        {
            IList <TimelineEntryDetails> results = await TimelineOperations.GetTimelineItemsAsync(
                DbContext, null);

            return(View(await SetVmEditorInfo(new HomeViewModel
            {
                TimelineEntries = results
            })));
        }
예제 #5
0
        /// <summary>
        /// Gets the details for a particular timeline item.
        /// </summary>
        /// <param name="id"></param>
        /// <returns>The timeline entry.</returns>
        public async Task <TimelineEntryDetails> Get(int id)
        {
            TimelineEntryDetails result = await TimelineOperations.GetTimelineItemAsync(
                DbContext, id);

            if (result == null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }

            return(result);
        }
예제 #6
0
        /// <summary>
        /// Gets recent items on the timeline.
        /// </summary>
        /// <param name="since">
        /// Optional cutoff time in 2015-10-04T19:12:24 format - if present, only
        /// messages newer than this will be returned.
        /// </param>
        /// <returns>A list of timeline entries.</returns>
        public async Task <IList <TimelineEntryDetails> > Get([FromUri] string since = null)
        {
            IList <TimelineEntryDetails> results = await TimelineOperations.GetTimelineItemsAsync(
                DbContext, since);

            if (results == null)
            {
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            }

            return(results);
        }
예제 #7
0
        public async Task <ActionResult> Item(int entryId)
        {
            TimelineEntryDetails entry = await TimelineOperations.GetTimelineItemAsync(
                DbContext, entryId);

            if (entry == null)
            {
                return(HttpNotFound());
            }

            return(View(await SetVmEditorInfo(new TimelineItemViewModel
            {
                ItemId = entryId,
                Item = entry
            })));
        }