Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
 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;
 }
Example #4
0
 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));
     }
 }
Example #5
0
        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;
            }
        }
Example #6
0
        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;
            }
        }
Example #7
0
        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);
        }