private void FillCrewHash(IEnumerable <Profiler.CrewMember> crewMembers) { foreach (var crewMember in crewMembers) { CastAndCrew.Add(new PersonKey(crewMember)); } }
private void InsertCastAndCrew() { ReportStart(_cache.CastAndCrew, "Cast & Crew"); var currentProgress = 0; foreach (var item in _cache.CastAndCrew) { var entity = new Entity.tCastAndCrew() { LastName = item.LastName, MiddleName = item.MiddleName, FirstName = item.FirstName, BirthYear = item.BirthYear != 0 ? item.BirthYear : (int?)null, }; _context.tCastAndCrew.Add(entity); CastAndCrew.Add(item, entity); IncreaseCurrent(ref currentProgress); } ReportFinish(); }
public ContentReference CreateProduct(MovieDetails movieDetails, CastAndCrew castAndCrew, ContentReference linkToParentNode) { var name = $"{movieDetails.title.TruncateString(50)} ({ movieDetails.release_date.ToYear()})"; //Create a new instance of CatalogContentTypeSample that will be a child to the specified parentNode. var assetLink = ContentReference.EmptyReference; if (!string.IsNullOrEmpty(movieDetails.poster_path)) { try { var imageData = _movieDbClient.GetImage(movieDetails.poster_path).Result; assetLink = _imageRepository.Insert($"MovieBackdrop/{movieDetails.title.First()}/{name}", Path.GetExtension(movieDetails.poster_path), imageData); } catch { Debug.WriteLine($"{movieDetails.title} is missing image"); } } var product = _contentRepository.GetDefault <MovieProduct>(linkToParentNode); product.Name = name; product.StartPublish = DateTime.UtcNow.Subtract(new TimeSpan(1, 0, 0, 0)); product.Code = movieDetails.id.ToString(); product.SeoUri = $"{movieDetails.id}.aspx"; product.DisplayName = NameFix(movieDetails.title); product.ImdbId = movieDetails.imdb_id; product.OriginalTitle = movieDetails.original_title; product.Title = movieDetails.title; product.Overview = movieDetails.overview; product.TheMovieDbId = movieDetails.id.ToString(); product.Adult = movieDetails.adult; product.ReleaseDate = movieDetails.release_date.HasValue ? movieDetails.release_date.Value : DateTime.MinValue; product.VoteAverage = movieDetails.vote_average; product.VoteCount = movieDetails.vote_count.HasValue ? movieDetails.vote_count.Value : int.MinValue; product.Genres = movieDetails?.genres?.FirstOrDefault()?.name ?? "Unkown"; product.OrginalLang = movieDetails.original_language; product.BelongsToCollection = movieDetails?.belongs_to_collection?.name ?? string.Empty; product.SpokenLanguages = movieDetails?.spoken_languages?.FirstOrDefault()?.name ?? string.Empty; product.Casts = castAndCrew?.Cast.Select(x => new MovieShop.Domain.Commerce.Products.Cast() { CharacterName = x.Character, Gender = x.Gender, Name = x.Name }).ToList(); product.Crews = castAndCrew?.Crew.Select(x => new MovieShop.Domain.Commerce.Products.Crew() { Job = x.Job, Gender = x.Gender, Name = x.Name }).ToList(); if (!ContentReference.IsNullOrEmpty(assetLink)) { product.CommerceMediaCollection.Add(new CommerceMedia() { AssetLink = assetLink, AssetType = "Image", GroupName = "Poster", SortOrder = 1, }); } return(_contentRepository.Save(product, SaveAction.Publish, AccessLevel.NoAccess)); }
public void GetMovieCredits(int movieId) { var castAndCrew = new CastAndCrew(movieId); var castInfo = castAndCrew.GetCredits(); // IEnumerable to ObservableCollection Cast = new ObservableCollection <Cast>(castInfo.Cast.DistinctBy(i => i.Name)); Crew = new ObservableCollection <Crew>(castInfo.Crew.DistinctBy(i => i.Name)); }
private void FillCastHash(IEnumerable <object> castList) { if (castList == null) { return; } var valid = castList.OfType <Profiler.CastMember>(); foreach (var castMember in valid) { CastAndCrew.Add(new PersonKey(castMember)); } }
private async Task <double> Prediction(MovieShort movie) { var credits = new CastAndCrew(movie.Id); var castList = credits.GetCredits(); var countToTake = castList.Cast.Count > _maxCounter ? _maxCounter : castList.Cast.Count; var rateAvg = 0D; return(await Task.Run(() => { foreach (var cast in castList.Cast.Take(countToTake)) { var person = new ProfileInfo(cast.Id); var resume = person.GetHistory(); rateAvg += resume.Cast.Select(i => i.VoteAverage).Average(); } rateAvg = rateAvg / countToTake; return Math.Round(rateAvg, 2); })); }
//For Edit and Create Actors (POST) private void CreateOfUpdateActorsInMovie(string[] selectedActors, MovieViewModel movieViewModel) { if (selectedActors == null) { movieViewModel.CastAndCrews = new List <CastAndCrew>(); return; } if (movieViewModel.CastAndCrews == null) { movieViewModel.CastAndCrews = new List <CastAndCrew>(); } var selectedActorsHs = new HashSet <string>(selectedActors); var actorsInMovie = new HashSet <Guid>(movieViewModel.CastAndCrews.Select(c => c.PeopleId)); foreach (var actor in _peopleService.GetAll()) { var addActor = new CastAndCrew { MovieId = movieViewModel.Id, PeopleId = actor.Id, CareerId = _careerService.GetCareerByTitle("Actor").Id }; if (selectedActorsHs.Contains(actor.Id.ToString())) { if (!actorsInMovie.Contains(actor.Id)) { movieViewModel.CastAndCrews.Add(addActor); } } else { if (actorsInMovie.Contains(actor.Id)) { movieViewModel.CastAndCrews.Remove(addActor); } } } }
public void Edit(CastAndCrew castAndCrew) { _repo.Update(castAndCrew); _repo.Save(); }
public void AddCastAndCrew(CastAndCrew castAndCrew) { _repo.Insert(castAndCrew); _repo.Save(); }
public PeopleManager(ISitecoreService masterService) { _masterService = masterService; _peopleRootFolder = masterService.GetItem <People>(RebootConstants.PeopleRootID.Guid); _castAndCreweRootFolder = masterService.GetItem <CastAndCrew>(RebootConstants.CastCrewRootID.Guid); }