TourArtefactDto GetTourArtefact()
        {
            TourArtefactFilter filter = new TourArtefactFilter()
            {
                isDeleted = false, numPerPage = 1, pageNumber = 0
            };
            var tourArtefacts = _controller.GetFiltered(filter);

            if (tourArtefacts != null && tourArtefacts.Any())
            {
                return(tourArtefacts.First());
            }
            else
            {
                //Create a new tourArtefact for testing
                return(CreateTestTourArtefact());
            }
        }
        public List <TourArtefactDto> GetFiltered(TourArtefactFilter filter)
        {
            IQueryable <TourArtefact> tourArtefacts = Db.TourArtefacts;

            if (filter.isDeleted.HasValue)
            {
                tourArtefacts = tourArtefacts.Where(m => m.IsDeleted == filter.isDeleted.Value);
            }

            if (filter.artefactId.HasValue)
            {
                tourArtefacts = tourArtefacts.Where(m => m.Artefact.Id == filter.artefactId.Value);
            }

            if (filter.tourId.HasValue)
            {
                tourArtefacts = tourArtefacts.Where(m => m.Tour.Id == filter.tourId.Value);
            }

            return(Mapper.Map <List <TourArtefactDto> >(tourArtefacts.OrderBy(m => m.ModifiedDate).Skip(filter.pageSize * filter.page).Take(filter.pageSize)));
        }