Пример #1
0
        public TravellerResponse SubmitFeedback(TravellerFeedbackViewModel feedbackData)
        {
            _logger.LogInfo("Trying to submit feedback with device id " + feedbackData.DeviceId);
            try
            {
                //Get Traveller info based on device id
                Traveller traveller = _travellerRepository.GetTravellerByDeviceId(feedbackData.DeviceId);
                if (traveller == null)
                {
                    throw new Exception(string.Format(_messageHandler.GetMessage(ErrorMessagesEnum.BookingWithInvalidDeviceId)));
                }

                //Convert view model to entity
                TravellerFeedback feedbackInfo = _mapper.Map <TravellerFeedback>(feedbackData);
                feedbackInfo.TravellerId = traveller.Id;
                feedbackInfo.IsActive    = true;
                _travellerRepository.SubmitFeedback(feedbackInfo);
                _logger.LogInfo("Successfully submitted feedback with device id " + feedbackData.DeviceId);
                feedbackData.DeviceId = null;
                TravellerResponse response = new TravellerResponse(true, string.Format(_messageHandler.GetSuccessMessage(SuccessMessagesEnum.SuccessfullySaved)));
                return(response);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(new TravellerResponse(false, ex.Message));
            }
        }
Пример #2
0
        public ActionResult <TravellerResponse> SubmitFeedback([FromBody] TravellerFeedbackViewModel feedbackData)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(string.Format(_messageHandler.GetMessage(ErrorMessagesEnum.ModelValidation), "", ModelState.Values.First().Errors.First().ErrorMessage)));
            }
            var response = _travellerService.SubmitFeedback(feedbackData);

            return(Ok(response));
        }