public bool Equals(Movie other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return Equals(other.ImdbId, ImdbId) && Equals(other.Title, Title) && other.Rating == Rating && Equals(other.Director, Director) && other.ReleaseDate.Equals(ReleaseDate) && Equals(other.TagLine, TagLine) && Genres.EquivalentTo(other.Genres); }
public void Can_PATCH_Movie_from_dto() { ExecutePath(HttpMethods.Post, "/movies", null, null, NewMovie); var lastInsertId = (int)this.DbFactory.Run(db => db.GetLastInsertId()); var patchMovie = new Movie { Id = lastInsertId, Title = "PATCHED " + NewMovie.Title }; ExecutePath(HttpMethods.Patch, "/movies", null, null, patchMovie); this.DbFactory.Run(db => { var movie = db.GetById<Movie>(lastInsertId); Assert.That(movie, Is.Not.Null); Assert.That(movie.Title, Is.EqualTo(patchMovie.Title)); }); }
public void Can_PATCH_Movie_from_dto() { ExecutePath(HttpMethods.Post, "/movies", null, null, NewMovie); using (var db = DbFactory.Open()) { var lastInsertId = (int)db.LastInsertId(); var patchMovie = new Movie { Id = lastInsertId, Title = "PATCHED " + NewMovie.Title }; ExecutePath(HttpMethods.Patch, "/movies", null, null, patchMovie); var movie = db.SingleById<Movie>(lastInsertId); Assert.That(movie, Is.Not.Null); Assert.That(movie.Title, Is.EqualTo(patchMovie.Title)); } }
public async Task Can_call_PostAsync_to_add_new_Movie_using_RestClientAsync() { var asyncClient = CreateServiceClient(); await asyncClient.PostAsync(new ResetMovies()); var newMovie = new Movie { ImdbId = "tt0450259", Title = "Blood Diamond", Rating = 8.0m, Director = "Edward Zwick", ReleaseDate = new DateTime(2007, 1, 26), TagLine = "A fisherman, a smuggler, and a syndicate of businessmen match wits over the possession of a priceless diamond.", Genres = new List<string> { "Adventure", "Drama", "Thriller" }, }; var response = await asyncClient.PostAsync<MovieResponse>("movies", newMovie); Assert.That(response, Is.Not.Null, "No response received"); var createdMovie = response.Movie; Assert.That(createdMovie.Id, Is.GreaterThan(0)); Assert.That(createdMovie.ImdbId, Is.EqualTo(newMovie.ImdbId)); }
/// <summary> /// PUT /movies /// </summary> public object Put(Movie movie) { Db.Update(movie); return new MovieResponse(); }
/// <summary> /// POST /movies /// </summary> public object Post(Movie movie) { Db.Save(movie); var newMovie = new MovieResponse { Movie = Db.SingleById<Movie>(movie.Id) }; return new HttpResult(newMovie) { StatusCode = HttpStatusCode.Created, Headers = { { HttpHeaders.Location, this.Request.AbsoluteUri.WithTrailingSlash() + movie.Id } } }; }
/// <summary> /// PATCH /movies /// </summary> public object Patch(Movie movie) { var existingMovie = Db.SingleById<Movie>(movie.Id); if (movie.Title != null) existingMovie.Title = movie.Title; Db.Save(existingMovie); return new MovieResponse(); }
/// <summary> /// GET /movies/{Id} /// </summary> public object Get(Movie movie) { return new MovieResponse { Movie = Db.SingleById<Movie>(movie.Id) }; }
/// <summary> /// DELETE /movies/{Id} /// </summary> public object Delete(Movie request) { Db.DeleteById<Movie>(request.Id); return new MovieResponse(); }
/// <summary> /// POST /movies /// </summary> public object Post(Movie movie) { Db.Insert(movie); var newMovieId = Db.GetLastInsertId(); var newMovie = new MovieResponse { Movie = Db.GetById<Movie>(newMovieId) }; return new HttpResult(newMovie) { StatusCode = HttpStatusCode.Created, Headers = { { HttpHeaders.Location, this.RequestContext.AbsoluteUri.WithTrailingSlash() + newMovieId } } }; }