Example #1
0
 public IActionResult CreateAnonymousHeadwordFeedback(long resourceVersionId, [FromBody] CreateAnonymousFeedbackContract data)
 {
     try
     {
         var resultId = m_feedbackManager.CreateAnonymousHeadwordFeedback(resourceVersionId, data);
         return(Ok(resultId));
     }
     catch (HttpErrorCodeException exception)
     {
         return(StatusCode((int)exception.StatusCode, exception.Message));
     }
 }
Example #2
0
        public long CreateAnonymousHeadwordFeedback(long resourceVersionId, CreateAnonymousFeedbackContract data)
        {
            try
            {
                var result = m_client.Post <long>($"feedback/headword/version/{resourceVersionId}/anonymous", data);
                return(result);
            }
            catch (HttpRequestException e)
            {
                if (m_logger.IsErrorEnabled())
                {
                    m_logger.LogError("{0} failed with {1}", m_client.GetCurrentMethod(), e);
                }

                throw;
            }
        }
Example #3
0
        public void TestCreateAnonymousFeedback()
        {
            const long resourceVersionId = 2149;

            var repository = new MockPortalRepository();

            var data = new CreateAnonymousFeedbackContract
            {
                FeedbackCategory = FeedbackCategoryEnumContract.OldGrammar,
                Text             = "Feedback text",
                AuthorEmail      = "*****@*****.**",
                AuthorName       = "Author Name"
            };

            var work1 = new CreateFeedbackWork(m_mapper, repository, data, FeedbackType.Generic, null, resourceVersionId);

            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, new CreateFeedbackContract(), FeedbackType.Headword);

            Assert.ThrowsException <MainServiceException>(() => work2.Execute());


            repository = new MockPortalRepository();
            var work3 = new CreateFeedbackWork(m_mapper, repository, data, FeedbackType.Headword, null, 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.AuthorUser);
            Assert.AreEqual(data.AuthorEmail, feedbackEntity.AuthorEmail);
            Assert.AreEqual(data.AuthorName, feedbackEntity.AuthorName);
            Assert.AreEqual(data.Text, feedbackEntity.Text);
        }
Example #4
0
        public long CreateAnonymousHeadwordFeedback(long resourceVersionId, CreateAnonymousFeedbackContract data)
        {
            var resultId = new CreateFeedbackWork(m_mapper, m_portalRepository, data, FeedbackType.Headword, null, resourceVersionId).Execute();

            return(resultId);
        }
Example #5
0
        public long CreateAnonymousFeedback(CreateAnonymousFeedbackContract data)
        {
            var resultId = new CreateFeedbackWork(m_mapper, m_portalRepository, data, FeedbackType.Generic).Execute();

            return(resultId);
        }