Exemplo n.º 1
0
        public async Task <bool> CreateFeedback(Guid sessionId, Guid userId, CreateUserFeedbackDTO feedback)
        {
            var userFeedback = UserFeedbackBO.CreateUserFeedback(sessionId, userId, DateTime.UtcNow, feedback.Comment, feedback.Rate);

            if (await _sessionFeedbackRepository.CreateFeedback(userFeedback))
            {
                _lastFeedbacksWriterService.AddNewFeedback(userFeedback);
                return(true);
            }
            return(false);
        }
        public async Task Post([FromRoute(Name = "sessionId")][RequiredGuid] string sessionId, [RequiredGuid][FromHeader(Name = "Ubi-UserId")] string userId, [FromBody] CreateUserFeedbackDTO feedback)
        {
            // string userId = Request.Headers["Ubi-UserId"];
            var isSucceeded = await this._sessionFeedbackAppService.CreateFeedback(Guid.Parse(sessionId), Guid.Parse(userId), feedback);

            if (!isSucceeded)
            {
                throw new ApiException($"The user {userId} for the session {sessionId} has laready posted a feedback.", System.Net.HttpStatusCode.Forbidden);
            }
            return;
        }