public IList <InstitutionJournal> FindAll(InstitutionJournalFilter filter)
        {
            var query = this.DbContext.InstitutionJournals.Include(i => i.Institution);

            if (filter.JournalId.HasValue)
            {
                query = query.Where(i => i.JournalId == filter.JournalId.Value);
            }

            if (filter.UserProfileId.HasValue)
            {
                query = query.Where(i => i.UserProfileId == filter.UserProfileId.Value);
            }

            if (filter.InstitutionId.HasValue)
            {
                query = query.Where(i => i.InstitutionId == filter.InstitutionId.Value);
            }

            if (filter.PublisherId.HasValue)
            {
                query = query.Where(i => i.Journal.PublisherId == filter.PublisherId.Value);
            }

            return(query.OrderByDescending(i => i.DateAdded).ToList());
        }
        public IPagedList <InstitutionJournal> Find(InstitutionJournalFilter filter)
        {
            var query = this.DbContext.InstitutionJournals.Include(i => i.Institution);

            if (filter.JournalId.HasValue)
            {
                query = query.Where(i => i.JournalId == filter.JournalId.Value);
            }

            if (filter.UserProfileId.HasValue)
            {
                query = query.Where(i => i.UserProfileId == filter.UserProfileId.Value);
            }

            return(query.OrderByDescending(i => i.DateAdded).ToPagedList(filter.PageNumber.Value, filter.PageSize.Value));
        }