public async Task <ActionResult <Movies> > AddNewMovie(Movies newMovieData) { try { var addedMovie = await moviesService.AddMovieAsync(newMovieData); if (addedMovie == null) { return(BadRequest(new { message = "MOVIE_ALREADY_EXIST" })); } var location = link.GetPathByAction("GetByMovieTitle", "Movies", new { title = newMovieData.Title }); if (string.IsNullOrWhiteSpace(location)) { return(BadRequest(new { message = "MOVIETITLE_OCCUPIED" })); } if ((await moviesService.CommitAsync()) > 0) { return(Created(location, newMovieData)); } } catch (Exception) { return(this.StatusCode(StatusCodes.Status500InternalServerError, "Database Failure")); } return(BadRequest()); }