public long CreateHeadwordFeedback(long resourceVersionId, CreateFeedbackContract data) { var userId = m_authenticationManager.GetCurrentUserId(); var resultId = new CreateFeedbackWork(m_mapper, m_portalRepository, data, FeedbackType.Headword, userId, resourceVersionId).Execute(); return(resultId); }
public long CreateFeedback(CreateFeedbackContract data) { var userId = m_authenticationManager.GetCurrentUserId(); var resultId = new CreateFeedbackWork(m_mapper, m_portalRepository, data, FeedbackType.Generic, userId).Execute(); return(resultId); }
public CreateFeedbackWork(IMapper mapper, PortalRepository portalRepository, CreateFeedbackContract data, FeedbackType feedbackType, int?userId = null, long?resourceVersionId = null) : base(portalRepository) { m_mapper = mapper; m_portalRepository = portalRepository; m_data = data; m_feedbackType = feedbackType; m_userId = userId; m_resourceVersionId = resourceVersionId; }
public IActionResult CreateHeadwordFeedback(long resourceVersionId, [FromBody] CreateFeedbackContract data) { try { var resultId = m_feedbackManager.CreateHeadwordFeedback(resourceVersionId, data); return(Ok(resultId)); } catch (HttpErrorCodeException exception) { return(StatusCode((int)exception.StatusCode, exception.Message)); } }
public long CreateHeadwordFeedback(long resourceVersionId, CreateFeedbackContract data) { try { var result = m_client.Post <long>($"feedback/headword/version/{resourceVersionId}", data); return(result); } catch (HttpRequestException e) { if (m_logger.IsErrorEnabled()) { m_logger.LogError("{0} failed with {1}", m_client.GetCurrentMethod(), e); } throw; } }
public long CreateFeedback(CreateFeedbackContract data) { try { var result = m_client.Post <long>("feedback", data); return(result); } catch (HttpRequestException e) { if (m_logger.IsErrorEnabled()) { m_logger.LogError("{0} failed with {1}", m_client.GetCurrentMethod(), e); } throw; } }
public void TestCreateFeedbackFromUser() { const int userId = 67; const long resourceVersionId = 48915; var repository = new MockPortalRepository(); var data = new CreateFeedbackContract { FeedbackCategory = FeedbackCategoryEnumContract.OldGrammar, Text = "Feedback text" }; var work1 = new CreateFeedbackWork(m_mapper, repository, data, FeedbackType.Generic, userId); work1.Execute(); Assert.AreEqual(1, repository.CreatedObjects.Count); Assert.AreEqual(0, repository.UpdatedObjects.Count); Assert.AreEqual(typeof(Feedback), repository.CreatedObjects.First().GetType()); repository = new MockPortalRepository(); var work2 = new CreateFeedbackWork(m_mapper, repository, data, FeedbackType.Headword, userId); Assert.ThrowsException <MainServiceException>(() => work2.Execute()); repository = new MockPortalRepository(); var work3 = new CreateFeedbackWork(m_mapper, repository, data, FeedbackType.Headword, userId, resourceVersionId); work3.Execute(); Assert.AreEqual(1, repository.CreatedObjects.Count); Assert.AreEqual(0, repository.UpdatedObjects.Count); Assert.AreEqual(typeof(HeadwordFeedback), repository.CreatedObjects.First().GetType()); var feedbackEntity = (Feedback)repository.CreatedObjects.First(); Assert.IsNull(feedbackEntity.AuthorEmail); Assert.IsNull(feedbackEntity.AuthorName); Assert.IsNotNull(feedbackEntity.AuthorUser); Assert.AreEqual(data.Text, feedbackEntity.Text); }