private Movie GetMovie(MovieActivatedEvent movieActivatedEvent) { Movie movie = new Movie { Description = movieActivatedEvent.Description, Name = movieActivatedEvent.Name, OriginalName = movieActivatedEvent.OriginalName, PosterUrl = movieActivatedEvent.PosterUrl, TotalMinute = movieActivatedEvent.TotalMinute, MovieId = movieActivatedEvent.MovieId, ConstructionYear = movieActivatedEvent.ConstructionYear }; var identityEvent = movieActivatedEvent.Identity; Indexes.MovieIdentity movieIdentity = new Indexes.MovieIdentity { VisionEntryDate = identityEvent.VisionEntryDate, BookAuthors = GetActors(identityEvent.BookAuthors), Producers = GetActors(identityEvent.Producers), Composers = GetActors(identityEvent.Composers), Scenarists = GetActors(identityEvent.Scenarists), PhotographyDirectors = GetActors(identityEvent.PhotographyDirectors), Directors = GetActors(identityEvent.Directors), Types = GetTypes(identityEvent.Types), Countries = GetCountries(identityEvent.Countries) }; movie.Identity = movieIdentity; movie.Actors = GetActors(movieActivatedEvent.Actors); return(movie); }
public void InsertMovie(string payload) { MovieActivatedEvent movieActivatedEvent = JsonConvert.DeserializeObject <MovieActivatedEvent>(payload); var movie = GetMovie(movieActivatedEvent); _elasticClient.IndexDocument(movie); }
public void UpdateMovie(string movieUpdatedEvent) { MovieActivatedEvent movieActivatedEvent = JsonConvert.DeserializeObject <MovieActivatedEvent>(movieUpdatedEvent); var searchResponse = _elasticClient .Search <Indexes.Movie>(s => s.Query(q => q.Raw(GetMovieByIdQueryUrl(movieActivatedEvent.MovieId)))); if (!searchResponse.Hits.Any()) { return; } string id = searchResponse.Hits.ToList()[0].Id; var updatedMovie = GetMovie(movieActivatedEvent); _elasticClient.Update(DocumentPath <Movie> .Id(id), u => u .Index("movies") .DocAsUpsert(true) .Doc(updatedMovie)); }