public async Task <IActionResult> Post([FromBody] Product product, [FromHeader(Name = "x-correlationToken")] string correlationToken) { var isSuccessful = true; var errorMessage = string.Empty; if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Guard.ForNullOrEmpty(correlationToken, "correlationToken"); Guard.ForNullObject(product, "Product parameter null for catalog post"); try { await _catalogBusinessServices.Add(correlationToken, product); } catch (Exception ex) { errorMessage = $"Catalog: Exception on Post operation:{ex.Message} for Request {correlationToken}"; _logger.LogError(errorMessage); isSuccessful = false; } if (!isSuccessful) { return(BadRequest(errorMessage)); } //return CreatedAtRoute("PostMusicRoute", product); return(StatusCode(Convert.ToInt32(HttpStatusCode.Created))); }
public async Task <IActionResult> Post([FromBody] MusicAddDto musicDto, string correlationToken) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Guard.ForNullOrEmpty(correlationToken, "correlationToken"); Guard.ForNullObject(musicDto, "musicDto class is missing"); var newAlbum = Mapper.MapToMusicDtoPost(musicDto); await _catalogBusinessServices.Add(correlationToken, newAlbum); var album = Mapper.MapToMusicDto(newAlbum); return(CreatedAtRoute("PostMusicRoute", album)); }