Ejemplo n.º 1
0
        public async Task <IActionResult> Delete(string hashId)
        {
            if (!Guid.TryParse(CurrentUser.NameIdentifier, out Guid userId))
            {
                return(Json(new { Status = false, Message = "Error deleting the story." }));
            }

            var model = await StoryService.Get(hashId, userId);

            if (model == null)
            {
                return(Json(new { Status = false, Message = "Error deleting the story." }));
            }

            if (!(CurrentUser.IsInRole(Roles.Admin) || CurrentUser.IsInRole(Roles.Moderator)))
            {
                if (!model.Summary.IsSubmitter)
                {
                    return(Json(new { Status = false, Message = "You cannot deleted stories submitted by others." }));
                }

                var submitDate = DateTime.Parse(model.Summary.SubmittedDate);

                if (!model.Summary.IsDeletable)
                {
                    return(Json(new { Status = false, Message = "Threshold for story deletion has expired. Moderator intervention is required to delete this story." }));
                }
            }

            var status = await StoryService.Delete(model.Summary.HashId);

            return(Json(new { Status = status }));
        }
Ejemplo n.º 2
0
        private void Delete()
        {
            _userScoreService.Expect(us => us.StoryDeleted(It.IsAny <IStory>())).Verifiable();
            _storyRepository.Expect(r => r.Remove(It.IsAny <IStory>())).Verifiable();
            _emailSender.Expect(es => es.NotifyStoryDelete(It.IsAny <IStory>(), It.IsAny <IUser>())).Verifiable();

            _storyService.Delete(new Mock <IStory>().Object, new Mock <IUser>().Object);
        }
Ejemplo n.º 3
0
        private void Delete()
        {
            _storyRepository.Setup(r => r.Remove(It.IsAny <IStory>())).Verifiable();

            _storyDeleteEvent = new Mock <StoryDeleteEvent>();

            _eventAggregator.Setup(ea => ea.GetEvent <StoryDeleteEvent>()).Returns(_storyDeleteEvent.Object).Verifiable();
            _storyDeleteEvent.Setup(e => e.Publish(It.IsAny <StoryDeleteEventArgs>())).Verifiable();


            _storyService.Delete(new Mock <IStory>().Object, new Mock <IUser>().Object);
        }