Example #1
0
        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);
        }
Example #2
0
        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;
            }
        }