Beispiel #1
0
        public async Task <string> LikeDislikeComment(CommentFeedback commentFeedback)
        {
            string message  = "Feedback updated successfully";
            var    feedback = await _context.UserFeedback.Where(x => x.CommentId == commentFeedback.CommentId && x.UserId == commentFeedback.UserId).FirstOrDefaultAsync();

            if (feedback == null)
            {
                UserFeedback userFeedback = new UserFeedback();
                userFeedback.CommentId = commentFeedback.CommentId;
                userFeedback.UserId    = commentFeedback.UserId;
                userFeedback.IsLike    = commentFeedback.IsLike;
                userFeedback.IsDislike = !commentFeedback.IsLike;
                _context.UserFeedback.Add(userFeedback);
                await Save();
            }
            else
            {
                if (feedback.IsLike == commentFeedback.IsLike || feedback.IsDislike == !commentFeedback.IsLike)
                {
                    throw new Exception("You already " + (commentFeedback.IsLike ? "liked" : "disliked"));
                }

                feedback.IsLike                = commentFeedback.IsLike;
                feedback.IsDislike             = !commentFeedback.IsLike;
                _context.Entry(feedback).State = EntityState.Modified;
                await Save();
            }


            return(message);
        }
Beispiel #2
0
        public async Task <ResultView> LikeDislikeComment([FromBody] CommentFeedback commentFeedback)
        {
            ResultView oResult = new ResultView();

            try
            {
                var user = await _appSurveyRepository.LikeDislikeComment(commentFeedback);

                oResult.Data    = user;
                oResult.Success = true;
                oResult.Message = user;
            }
            catch (Exception ex)
            {
                CustomError err = CommonFunctions.HandleException(ex, ex.Message);
                oResult.Success   = false;
                oResult.Exception = true;
                oResult.ErrorCode = err.ErrorCode;
                oResult.Message   = err.Message;
            }
            return(oResult);
        }
        public async Task CreateMetricFeedback()
        {
            var  client       = GetMetricsAdvisorClient();
            Guid metricIdGuid = new Guid(MetricId);
            FeedbackDimensionFilter dimensionFilter = new FeedbackDimensionFilter(
                new Dictionary <string, string>
            {
                { "Dim1", "Common Lime" },
                { "Dim2", "Ant" }
            });
            DateTimeOffset start = Recording.UtcNow.AddMonths(-4);
            DateTimeOffset end   = Recording.UtcNow;

            AnomalyFeedback     anomalyFeedback     = new AnomalyFeedback(metricIdGuid, dimensionFilter, start, end, AnomalyValue.NotAnomaly);
            ChangePointFeedback changePointFeedback = new ChangePointFeedback(metricIdGuid, dimensionFilter, start, end, ChangePointValue.NotChangePoint);
            PeriodFeedback      periodFeedback      = new PeriodFeedback(metricIdGuid, dimensionFilter, new PeriodFeedbackValue(PeriodType.AssignValue, 5));
            CommentFeedback     commentFeedback     = new CommentFeedback(metricIdGuid, dimensionFilter, "my comment");

            var feedbacks = new List <MetricFeedback>
            {
                anomalyFeedback,
                changePointFeedback,
                periodFeedback,
                commentFeedback
            };

            foreach (var feedback in feedbacks)
            {
                MetricFeedback createdFeedback = await client.CreateMetricFeedbackAsync(feedback).ConfigureAwait(false);

                Assert.That(createdFeedback.MetricId, Is.EqualTo(metricIdGuid));
                Assert.That(createdFeedback.FeedbackId, Is.Not.Null);

                MetricFeedback getFeedback = await client.GetMetricFeedbackAsync(createdFeedback.FeedbackId.ToString()).ConfigureAwait(false);

                Assert.That(createdFeedback.FeedbackId, Is.EqualTo(getFeedback.FeedbackId));
            }
        }