public IActionResult CreateVenue([FromBody] VenueCreateDto venue) { try { if (venue == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var venueToAdd = Mapper.Map <Entities.Venue>(venue); _repository.AddVenue(venueToAdd); if (!_repository.Save()) { return(StatusCode(500, "A problem occurred adding the venue")); } var newVenue = Mapper.Map <VenueDto>(venueToAdd); return(CreatedAtRoute("GetVenue", new { newVenue.Id }, newVenue)); } catch (Exception ex) { _logger.LogCritical($"Exception adding venue", ex); return(StatusCode(500, "A problem occurred handling your request")); } }
public IActionResult CreateVoxEvent([FromBody] VoxEventCreateDto voxEvent) { try { if (voxEvent == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var voxEventToAdd = Mapper.Map <Entities.VoxEvent>(voxEvent); _repository.AddVoxEvent(voxEventToAdd); if (!_repository.Save()) { return(StatusCode(500, "A problem occurred handling your request")); } var newVoxEvent = Mapper.Map <VoxEventDto>(voxEventToAdd); return(CreatedAtRoute("GetVoxEvent", new { id = newVoxEvent.Id }, newVoxEvent)); } catch (Exception ex) { _logger.LogCritical($"Exception creating Vox event", ex); return(StatusCode(500, "A problem occurred handling your request")); } }
public IActionResult CreateMember([FromBody] MemberCreateDto member) { try { if (member == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var memberToAdd = Mapper.Map <Entities.Member>(member); _repository.AddMember(memberToAdd); if (!_repository.Save()) { return(StatusCode(500, "A problem occurred handling your request")); } var newMember = Mapper.Map <MemberDto>(memberToAdd); return(CreatedAtRoute("GetMember", new { id = newMember.Id }, newMember)); } catch (Exception ex) { _logger.LogCritical($"Exception adding member", ex); return(StatusCode(500, "A problem occurred handling your request")); } }
public IActionResult CreateMemberAvailability(int memberId, [FromBody] MemberAvailabilityCreateDto availability) { try { if (_repository.AvailabilityExists(memberId, availability.VoxEventId)) { _logger.LogInformation($"Availability for member {memberId} event {availability.VoxEventId} already exists"); return(BadRequest()); } if (availability == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest()); } if (!_repository.MemberExists(memberId)) { return(NotFound()); } var finalMemberAvailability = Mapper.Map <Entities.Availability>(availability); _repository.AddMemberAvailability(memberId, finalMemberAvailability); if (!_repository.Save()) { return(StatusCode(500, "A problem occurred handling your request")); } var newAvailability = Mapper.Map <MemberAvailabilityDto>(finalMemberAvailability); return(CreatedAtRoute("GetAvailability", new { memberId, voxEventId = newAvailability.VoxEventId }, newAvailability)); } catch (Exception ex) { _logger.LogCritical($"Exception adding member id {memberId}'s availability", ex); return(StatusCode(500, "A white person's problem occurred handling your request")); } }