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); }
/// <summary> /// Mapper function from data values to our Business Object /// </summary> /// <param name="items"></param> /// <returns></returns> private IEnumerable <UserFeedbackBO> ExtractQueryResult(List <Dictionary <string, AttributeValue> > items) { var result = new List <UserFeedbackBO>(); foreach (var item in items) { var feedback = UserFeedbackBO.CreateUserFeedback( Guid.Parse(item[nameof(UserFeedbackBO.SessionId)].S), Guid.Parse(item[nameof(UserFeedbackBO.UserId)].S), DateTimeHelper.IsoUtcTime2UtcDateTime(item[nameof(UserFeedbackBO.SubmitDate)].S), item[nameof(UserFeedbackBO.Comment)].S, (UserRate)int.Parse(item[nameof(UserFeedbackBO.Rate)].N) ); result.Add(feedback); } return(result); }