public void Load() { AddActors.Clear(); DeleteActors.Clear(); var persons = _personRepository.GetAll(); if (FilmId == Guid.Empty) { AddActors.AddRange(persons); AddSelectActor(AddActorId); DeleteSelectActor(DeleteActorId); return; } var filmListOfActors = _filmRepository.GetById(FilmId).Actors; var actorsInFilm = new List <PersonListModel>(); var actorsNotInFilm = new List <PersonListModel>(); foreach (var person in persons) { var canAdd = true; foreach (var actor in filmListOfActors) { if (person.Id == actor.ActorId) { actorsInFilm.Add(person); canAdd = false; break; } } if (canAdd) { actorsNotInFilm.Add(person); } } AddActors.AddRange(actorsNotInFilm); DeleteActors.AddRange(actorsInFilm); AddSelectActor(AddActorId); DeleteSelectActor(DeleteActorId); }
private void AddSelectActor(Guid Id) { if (AddActors.Any()) { if (Id != Guid.Empty) { AddSelectedActor = AddActors.SingleOrDefault(actor => actor.Id == Id); } if (AddSelectedActor == null) { AddActorId = Guid.Empty; } else { AddActorId = AddSelectedActor.Id; } } else { AddActorId = Guid.Empty; } }