コード例 #1
0
ファイル: MovieRepository.cs プロジェクト: BartoszCiurla/BL
        public bool AddToFavorite(int bookId, string login)
        {
            var globalMovieLikes = _repo.GlobalMovieLikes.GetAll()
                                   .SingleOrDefault(
                x => x.PersonProfile.Login == login && x.GlobalMovie.GlobalMovieId == bookId);

            if (globalMovieLikes != null)
            {
                return(false);
            }
            var personProfile = _repo.PersonProfiles.GetAll().SingleOrDefault(x => x.Login == login);

            if (personProfile == null)
            {
                return(false);
            }
            var newDbEntry = _repo.GlobalMovies.GetById(bookId);

            if (newDbEntry == null)
            {
                return(false);
            }
            var newGlobalMovieLike = new GlobalMovieLike(newDbEntry, personProfile);

            _repo.GlobalMovieLikes.Add(newGlobalMovieLike);
            _repo.Commit();
            return(true);
        }
コード例 #2
0
ファイル: MovieRepository.cs プロジェクト: BartoszCiurla/BL
        public GlobalMovie Add(GlobalMovie item, string login)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }
            var dbEntry = _repo.PersonProfiles.GetAll().SingleOrDefault(x => x.Login == login);

            if (dbEntry != null)
            {
                GlobalMovie antiDoubleGlobalMovie = _repo.GlobalMovies.GetAll().SingleOrDefault(x => x.Title == item.Title);
                if (antiDoubleGlobalMovie == null)
                {
                    var newDbEntry = new GlobalMovieLike(item, dbEntry);
                    dbEntry.GlobalMovieLikes.Add(newDbEntry);
                    _repo.PersonProfiles.Update(dbEntry);
                    _repo.Commit();
                    return(new GlobalMovie());
                }
                return(null);
            }
            return(item);
        }