public IActionResult Search(string search)
        {
            int     id = Autentification.GetLoggedUser(HttpContext).Id;
            Museums m  = museumRepository.GetMuseumByAccId(id);

            List <Artworks> model = new List <Artworks>();

            if (search != null)
            {
                model = artworkRepository.Search(search, m.Id);
            }
            else
            {
                model = artworkRepository.GetArtworksByMuseum(m.Id);
            }

            List <ArtworkInfoVM> list = new List <ArtworkInfoVM>();

            foreach (Artworks x in model)
            {
                ArtworkInfoVM vm = new ArtworkInfoVM();
                vm.Id       = x.Id;
                vm.Artist   = x.Artist.Name;
                vm.ArtistId = x.ArtistId;
                vm.Likes    = likesRepository.GetLikes(x.Id);
                vm.Name     = x.Name;
                vm.Image    = imageRepository.GetArtworkImage(x.Id);

                if (vm.Image != null)
                {
                    vm.ImageId = vm.Image.Id;
                }

                list.Add(vm);
            }
            ViewData["collections"] = collectionRepository.GetCollections(m.Id);

            return(View("Index", list));
        }
        public IActionResult Search(string search, int page = 1)
        {
            IEnumerable <Artworks> list;

            if (search != null)
            {
                list = artworkRepository.Search(search, null);
            }

            else
            {
                list = artworkRepository.GetArtworks();
            }

            List <ArtworkVM> model    = new List <ArtworkVM>();
            const int        PageSize = 12;
            var count = list.Count();

            if (page == 1)
            {
                list = list.Skip(0).Take(PageSize).ToList();
            }

            else
            {
                list = list.Skip((page - 1) * PageSize).Take(PageSize).ToList();
            }

            if (count <= PageSize)
            {
                ViewBag.MaxPage = 1;
            }
            else
            {
                if (count % PageSize == 0)
                {
                    ViewBag.MaxPage = (count / PageSize);
                }
                else
                {
                    ViewBag.MaxPage = (count / PageSize) + 1;
                }
            }
            ViewBag.Page     = page;
            ViewBag.NextPage = page + 1;
            foreach (Artworks x in list)
            {
                ArtworkVM vm = new ArtworkVM();
                vm.Id             = x.Id;
                vm.Artist         = x.Artist.Name;
                vm.ArtworkType    = x.ArtworkType.Name;
                vm.ArtworkTypeId  = x.ArtworkTypeId;
                vm.CatalogueEntry = x.CatalogueEntry;
                vm.Country        = x.Country.Name;
                vm.Image          = imageRepository.GetArtworkImage(x.Id);
                if (vm.Image != null)
                {
                    vm.ImageId = vm.Image.Id;
                }
                vm.Likes      = likesRepository.GetLikes(x.Id);
                vm.Material   = x.Material.Name;
                vm.Museum     = x.Museum.Name;
                vm.MuseumId   = x.MuseumId;
                vm.Name       = x.Name;
                vm.Provenance = x.Provenance;
                vm.Style      = x.Style.Name;
                if (Autentification.GetLoggedUser(HttpContext) != null)
                {
                    Clients c = clientRepository.GetClientByUserId(Autentification.GetLoggedUser(HttpContext).Id);
                    vm.Liked = likesRepository.IsLiked(c.Id, x.Id);
                }
                else
                {
                    vm.Liked = false;
                }
                model.Add(vm);
            }


            return(View("Index", model));
        }