public async Task <CourtResponse> UpdateAsync(int id, CourtSaveResource sportSaveResource) { var existingItem = await _courtRepository.FindByIdAsync(id); if (existingItem == null) { return(new CourtResponse(404, "Item id not found", "Id", "Court id not found.")); } var sport = await _sportRepository.FindByIdAsync(sportSaveResource.SportId); if (sport == null) { return(new CourtResponse(404, "Item id not found", "SportId", "Sport id not found.")); } existingItem.Reference = sportSaveResource.Reference; existingItem.SportId = sportSaveResource.SportId; try { _courtRepository.Update(existingItem); var responseResource = _mapper.Map <Court, CourtResource>(existingItem); return(new CourtResponse(responseResource)); } catch (Exception ex) { return(new CourtResponse(400, "Unexpected error", "Error", ex.Message)); } }
public async Task <IActionResult> PostAsync([FromBody] CourtSaveResource saveResource) { var response = await _courtService.SaveAsync(saveResource); if (!response.Success && response.Error.Status == 404) { return(NotFound(response.Error)); } if (!response.Success) { return(BadRequest(response.Error)); } return(CreatedAtAction(nameof(GetAsync), new { id = response.Result.Id }, response.Result)); }
public async Task <IActionResult> PutAsync(int id, [FromBody] CourtSaveResource saveResource) { var response = await _courtService.UpdateAsync(id, saveResource); if (!response.Success && response.Error.Status == 404) { return(NotFound(response.Error)); } if (!response.Success) { return(BadRequest(response.Error)); } return(Ok(response.Result)); }
public async Task <CourtResponse> SaveAsync(CourtSaveResource sportSaveResource) { try { var sport = await _sportRepository.FindByIdAsync(sportSaveResource.SportId); if (sport == null) { return(new CourtResponse(404, "Item id not found", "SportId", "Sport id not found.")); } var item = _mapper.Map <CourtSaveResource, Court>(sportSaveResource); await _courtRepository.AddAsync(item); var responseResource = _mapper.Map <Court, CourtResource>(item); return(new CourtResponse(responseResource)); } catch (Exception ex) { return(new CourtResponse(400, "Unexpected error", "Error", ex.Message)); } }