コード例 #1
0
        public async Task <ActionResult <VenueDto> > CreateVenue(VenueForCreationDto venue)
        {
            var venueEntity = _mapper.Map <Venue>(venue);



            try
            {
                if (venue.FacilitiesIds.Any())
                {
                    foreach (var facilityId in venue.FacilitiesIds)
                    {
                        var facility = await _venueRepository.GetFacility(facilityId);


                        facility.VenueFacilities.Add(new VenueFacility()
                        {
                            Facility = facility,
                            Venue    = venueEntity
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(StatusCode(StatusCodes.Status500InternalServerError, "Wystąpił nieznany błąd"));
            }


            _venueRepository.AddVenue(venueEntity);
            await _venueRepository.SaveChanges();

            var venueToReturn = _mapper.Map <VenueDto>(venueEntity);

            return(CreatedAtRoute("GetVenue",
                                  new { venueId = venueToReturn.Id },
                                  venueToReturn));
        }