Ejemplo n.º 1
0
        public IHttpActionResult Put([FromBody] EventToolDto eventReservation, int eventId)
        {
            if (ModelState.IsValid)
            {
                return(Authorized(token =>
                {
                    try
                    {
                        if (eventId == 0)
                        {
                            throw new ApplicationException("Invalid Event Id");
                        }
                        _eventService.UpdateEventReservation(eventReservation, eventId, token);
                        return Ok();
                    }
                    catch (Exception e)
                    {
                        var msg = "EventToolController: PUT " + eventReservation.Title;
                        logger.Error(msg, e);
                        var apiError = new ApiErrorDto(msg, e);
                        throw new HttpResponseException(apiError.HttpResponseMessage);
                    }
                }));
            }
            var errors    = ModelState.Values.SelectMany(val => val.Errors).Aggregate("", (current, err) => current + err.Exception.Message);
            var dataError = new ApiErrorDto("Event Data Invalid", new InvalidOperationException("Invalid Event Data" + errors));

            throw new HttpResponseException(dataError.HttpResponseMessage);
        }