Ejemplo n.º 1
0
        public async Task <EventDetailResponse> Update(int id, EventDetail eventToUpdate)
        {
            var existingEvent = await _eventRepository.FindByIdAsync(eventToUpdate.EventId);

            if (existingEvent == null)
            {
                return(new EventDetailResponse("Invalid Event."));
            }

            var existingEventDetails = await _eventDetailRepository.FindByIdAsync(eventToUpdate.EventDetailId);

            if (existingEventDetails == null)
            {
                return(new EventDetailResponse("Invalid Event Details"));
            }

            existingEventDetails.EventDetailName   = eventToUpdate.EventDetailName;
            existingEventDetails.EventDetailNumber = eventToUpdate.EventDetailNumber;
            existingEventDetails.EventDetailOdd    = eventToUpdate.EventDetailOdd;
            existingEventDetails.FinishingPosition = eventToUpdate.FinishingPosition;
            existingEventDetails.FirstTimer        = eventToUpdate.FirstTimer;
            existingEventDetails.EventId           = eventToUpdate.EventId;
            existingEventDetails.EventDetailStatus = eventToUpdate.EventDetailStatus;

            try
            {
                _eventDetailRepository.Update(existingEventDetails);
                await _unitOfWork.CompleteAsync();

                return(new EventDetailResponse(existingEventDetails));
            }
            catch (Exception ex)
            {
                return(new EventDetailResponse($"An error occured when updating Event Details: {ex.Message}"));
            }
        }