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 })); }
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); }
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); }