//--Главная страница. Выводит список картинок--------------------------------------------------------
        public ActionResult Index(int page = 1, int limit = 7, int size = 320)
        {
            var images = repository.Load();
            images = images.OrderByDescending(b => b.date); //--сортируем по индексу--

            int h1, h2, h3 , hMin;   //--переменные для -------------------
            h1 = h2 = h3 = hMin = 0; //--вычисления лишней части картинок--

            var imageList = images.ToPagedList(page, 3 * limit);
            ImageProperties[] imagePrArray = new ImageProperties[imageList.Count];

            int k = 0;
            //--Вычисляем размеры ресайза--
            foreach (var obj in imageList)
            {
                if(obj.width >= size)
                    imagePrArray[k++] = new ImageProperties(obj.ImageID, size, (obj.height * size) / (obj.width));
                if (obj.width < size)
                    imagePrArray[k++] = new ImageProperties(obj.ImageID, (obj.width * size) / (obj.height), size);
            }

            //--Суммируем ширину изображений каждой колонки--
            for (int i = 0; i < imagePrArray.Length; i += 3)
            {
                h1 += imagePrArray[i].resizeHeight;
                if (i + 1 < imagePrArray.Length) h2 += imagePrArray[i + 1].resizeHeight;
                if (i + 2 < imagePrArray.Length) h3 += imagePrArray[i + 2].resizeHeight;
            }

            //--Вычисляем эталонную ширину колоннки--
            hMin = Math.Min(h1, Math.Min(h2, h3));

            //--Вычисляем данные для обрезки картинок--
            for (int i = 0; i < imagePrArray.Length; i += 3)
            {
                imagePrArray[i].cropHeight = (int)Math.Round((double)(h1-hMin) / (limit * 2.0));

                if (i + 1 < imagePrArray.Length) imagePrArray[i + 1].cropHeight = (int)Math.Round((double)(h2 - hMin) / (limit * 2.0));

                if (i + 2 < imagePrArray.Length) imagePrArray[i + 2].cropHeight = (int)Math.Round((double)(h3 - hMin) / (limit * 2.0));
            }

            //--Передаем данные представлению--
            ViewBag.page = page;
            ViewBag.limit = limit;
            ViewBag.count = images.Count();
            ViewBag.size = size;

            return View(imagePrArray);
        }
        //---------------------------------------------------------------------------------------------------

        //--Страница для просмотра отдельной картинки вместе с рекламой--------------------------------------
        public ActionResult ViewImage(int id, int rWidth = 520, int rHeight = 520, int limit = 3,  int size = 140)
        {
            var images = repository.Load();
            ImageProperties[] imagePrArray = new ImageProperties[3 * limit];

            int k = 0;
            Random rand = new Random();
            //--Вычисляем как нужно обрезать картинку, чтобы она поместилась в квадрат--
            for (int i = 0; i < 3 * limit; ++i)
            {
                int randN = rand.Next(1, images.Count()); //--выбираем рандомные картинки--

                if (images.ToArray()[randN].width >= images.ToArray()[randN].height)
                    imagePrArray[k++] = new ImageProperties(
                        images.ToArray()[randN].ImageID,
                        (images.ToArray()[randN].width * size) / (images.ToArray()[randN].height),
                        size,
                        (int)Math.Round(((double)((images.ToArray()[randN].width * size) / (images.ToArray()[randN].height)) - size)/2.0),
                        0);

                if (images.ToArray()[randN].width < images.ToArray()[randN].height)
                    imagePrArray[k++] = new ImageProperties(
                        images.ToArray()[randN].ImageID, 
                        size,
                        (images.ToArray()[randN].height * size) / (images.ToArray()[randN].width),
                        0,
                        (int)Math.Round(((double)((images.ToArray()[randN].height * size) / (images.ToArray()[randN].width)) - size)/2.0));
            }

            //--Передаем данные представлению--
            ViewBag.id = id;
            ViewBag.rWidth = rWidth;
            ViewBag.rHeight = rHeight;
            ViewBag.limit = limit;
            ViewBag.size = size;

            return View(imagePrArray);
        }