public void Load() { AddFilms.Clear(); DeleteFilms.Clear(); var films = _filmRepository.GetAll(); if (ActorId == Guid.Empty) { AddFilms.AddRange(films); AddSelectActedInFilm(AddFilmId); DeleteSelectActedInFilm(DeleteFilmId); return; } var actorListOfActedInFilms = _personRepository.GetById(ActorId).ActedInFilms; var actedInFilms = new List <FilmListModel>(); var notActedInFilms = new List <FilmListModel>(); foreach (var film in films) { var canAdd = true; foreach (var actedInFilm in actorListOfActedInFilms) { if (film.Id == actedInFilm.FilmId) { actedInFilms.Add(film); canAdd = false; break; } } if (canAdd) { notActedInFilms.Add(film); } } AddFilms.AddRange(notActedInFilms); DeleteFilms.AddRange(actedInFilms); AddSelectActedInFilm(AddFilmId); DeleteSelectActedInFilm(DeleteFilmId); }
private void AddSelectActedInFilm(Guid Id) { if (AddFilms.Any()) { if (Id != Guid.Empty) { AddSelectedFilm = AddFilms.SingleOrDefault(film => film.Id == Id); } if (AddSelectedFilm == null) { AddFilmId = Guid.Empty; } else { AddFilmId = AddSelectedFilm.Id; } } else { AddFilmId = Guid.Empty; } }