Beispiel #1
0
        public Ratings RateUser(int userId, int points)
        {
            /*
             * TODO ...
             *      check if user is not rating himself,
             *      check if user is not rating other user with same profession,
             *      authenticate the users that are providing rating by phone number
             */
            Users user = GetUserById(userId);

            if (user == null)
            {
                throw new NoEntryFoundException(userId, typeof(Users).Name);
            }

            Ratings rate = new Ratings
            {
                UserId           = user.Id,
                FeedbackPoints   = points,
                FeedbackDateTime = DateTime.UtcNow
            };

            FeedbackRepository.Add(rate);

            user.RatingSum += rate.FeedbackPoints;
            user.RatingCount++;
            UsersRepository.Update(user);

            return(rate);
        }
Beispiel #2
0
        public async Task <IActionResult> Add([FromBody] FeedbackViewModel feedbackViewModel)
        {
            try
            {
                bool isExistedFeedbackByUserIdAndCourseId = await feedbackRepository.IsExistedFeedbackByStudentIdAndCourseId(feedbackViewModel.UserId, feedbackViewModel.CourseId);

                if (isExistedFeedbackByUserIdAndCourseId == true)
                {
                    return(BadRequest(new
                    {
                        Errors = new { Code = "ExistedFeedback", Description = "Feedback has already existed!" }
                    }));
                }

                Feedback feedbackMapped = mapper.Map <Feedback>(feedbackViewModel);

                await feedbackRepository.Add(feedbackMapped);

                return(Ok(new
                {
                    Results = feedbackMapped
                }));
            }
            catch (Exception e)
            {
                Console.WriteLine($"ErrorMesages: {e}");

                return(BadRequest(new
                {
                    Errors = new { Code = "InvalidInputParameters", Description = "Invalid Input Parameters!" }
                }));
            }
        }
        public async Task <IActionResult> CreateLangFirstGradeQuestions(LangFirstGradeQuestionDto fullQuestion)
        {
            if (ModelState.IsValid)
            {
                var category = await _questionCategoryRepo.GetById(fullQuestion.QuestionCategory);

                var answer = new Answer()
                {
                    LangAnswer = fullQuestion.Answer
                };
                await _answerRepo.Add(answer);

                var question = new Question()
                {
                    QuestionTitle    = fullQuestion.QuestionTitle,
                    FileName         = fullQuestion.FileName,
                    Answer           = answer,
                    QuestionCategory = category
                };
                await _repository.Add(question);

                foreach (var item in fullQuestion.Feedback)
                {
                    var feedback = new Feedback()
                    {
                        Description = item.Description,
                        Question    = question
                    };
                    await _feedBackRepo.Add(feedback);
                }
                return(Ok());
            }
            return(BadRequest());
        }
 public void AddFeedbacks()
 {
     for (var i = 0; i < Count; i++)
     {
         var inputData = new AddFeedbackRequest {
             Description = Fixture.Create <string>(), DueDate = Fixture.Create <DateTime>()
         };
         var l = Repository.Add(FeedbackMapper.MapToDomainFromAddRequest(inputData)).GetAwaiter().GetResult();
     }
 }
Beispiel #5
0
        public void FeedbackTest()
        {
            var repository = new FeedbackRepository(new MongoContext("mongodb://localhost/WeatherAggregator"));
            var listBefore = repository.GetAll();

            repository.Add(new Feedback {
                DateCreated = DateTime.Now, Email = "lol.com", Name = "lol", Text = "Text"
            });
            var listAfter = repository.GetAll();

            Assert.Greater(listAfter.Count, listBefore.Count, "The item hasn't been added.");
        }
        //public IEnumerable<FeedbackDTO> GetFeedbackById(int id)
        //{
        //    return from f in _repo.GetFeedbackById()
        //           where f.BusinessId == id
        //           select new FeedbackDTO
        //           {
        //               Id = f.Id,
        //               Title = f.Title,
        //               Message = f.Message,
        //               TimePosted = f.TimePosted,
        //               StarRating = f.StarRating,
        //               isAnonymous = f.isAnonymous,
        //               Comments = (from c in f.Comments
        //                           select new CommentDTO
        //                           {
        //                               Id = c.Id,
        //                               Message = c.Message,
        //                               TimePosted = c.TimePosted
        //                           }).ToList()
        //           };
        //}

        public void Add(FeedbackDTO feedbackDTO, string username, int id)
        {
            Feedback newfeedback = new Feedback
            {
                Message           = feedbackDTO.Message,
                Title             = feedbackDTO.Title,
                ApplicationUserId = username,
                BusinessId        = id
            };

            _repo.Add(newfeedback);
        }
Beispiel #7
0
        public FeedbackModule()
        {
            IFeedbackRepository repo = new FeedbackRepository(ConfigurationManager.ConnectionStrings["happyIndex"].ConnectionString);

            Get["/api/feedback/{id:Guid}"] = parameters =>
            {
                return(repo.GetById(parameters.id));
            };

            Get["/api/feedback"] = _ =>
            {
                var feedbackData = repo.GetAll();
                var feedback     = new List <Feedback>();
                foreach (var f in feedbackData)
                {
                    feedback.Add(new Feedback()
                    {
                        CreateDate        = f.CreateDate,
                        Id                = f.Id,
                        Indicator         = f.Indicator,
                        PollingStation    = f.PollingStation,
                        QuestionId        = f.QuestionId,
                        QuestionsShownIds = f.QuestionsShownIds
                    });
                }
                return(feedback);
            };

            Post["/api/feedback"] = _ =>
            {
                var feedback    = this.Bind <Feedback>();
                var newFeedback = repo.Add(feedback.Indicator, feedback.QuestionId, DateTime.UtcNow, feedback.PollingStation, feedback.QuestionsShownIds);
                return(newFeedback);
            };

            Delete["/api/feedback/{id:Guid}"] = parameters =>
            {
                return(repo.DeleteById(parameters.id));
            };
        }