Example #1
0
        public HttpResponseMessage UploadDailyData(DailyDataDto data)
        {
            _logger.Info("DataSaverController.UploadDailyData");

            try
            {
                _dailyDataService.UpdateDailyData(data);

                return(new HttpResponseMessage(HttpStatusCode.OK));
            }
            catch (PrimeDatingException ex)
            {
                _logger.WarningException(ex.Message, ex);

                return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.GetErrorMessage()));
            }
            catch (DbEntityValidationException ex)
            {
                var message = new StringBuilder();

                message.AppendLine("Validation Error:");

                foreach (var validationError in ex.EntityValidationErrors.SelectMany(t => t.ValidationErrors))
                {
                    message.AppendLine(
                        $"PropertyName: {validationError.PropertyName}, Error: {validationError.ErrorMessage}");
                }

                _logger.ErrorException($"{ex.Message}. {message}", ex);

                return(Request.CreateResponse(HttpStatusCode.BadRequest, $"{ex.GetErrorMessage()}. {message}"));
            }
            catch (Exception ex)
            {
                _logger.ErrorException(ex.Message, ex);

                return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.GetErrorMessage()));
            }
        }