コード例 #1
0
        public ActionResult Index()
        {
            IRepository rep = new Repository();
            MainPhotos  mp  = new MainPhotos();

            mp.mainphotos = rep.getAllMainPhotos();

            return(View(mp));
        }
コード例 #2
0
 // Прикрепляет фото к альбому
 public int SavePhotoToAlbum(MainPhotos photo)
 {
     _db.MainPhotos.Add(photo);
     return(this.Save());
 }
コード例 #3
0
        /// <summary>
        /// Переносит старые фотографии на новый диск
        /// </summary>
        public void TakeOldPhotoAlbums(string domain)
        {
            // допустимые разрешения
            string[] allowedExtensions = new string[] { ".jpg", ".jpeg", ".png" };

            // кол-во фотографий
            int allPhotosCount = 0;

            // кол-во фотоальбомов
            int allPhotoAlbumsCount = 0;

            var albums = _db.MainPhotoAlbums
                         .Where(w => w.FSite.Equals(domain));

            if (albums == null)
            {
                return;
            }

            foreach (var a in albums)
            {
                string directory = null;

                directory = a.COldUrl;
                if (!string.IsNullOrEmpty(directory))
                {
                    directory = directory.Replace("/", @"\")
                                .Replace(@"\UserFiles", @"\\gov2\g$")
                                .Replace(@"\ContentOld", @"\\gov2\h$");

                    string directorPath = directory;
                    if (Directory.Exists(directorPath))
                    {
                        DirectoryInfo di        = new DirectoryInfo(directorPath);
                        FileInfo[]    fi        = di.GetFiles();
                        string        year      = a.DDate.ToString("yyyy");
                        string        month     = a.DDate.ToString("MM");
                        string        day       = a.DDate.ToString("dd");
                        string        userFiles = Program.Configuration.GetSection("root").ToString();
                        string        photoDir  = Program.Configuration.GetSection("photo").ToString();
                        string        pathToApp = Program.Configuration.GetSection("pathToApp").ToString();

                        // путь для сохранения фотографий
                        string savePath = userFiles + domain + photoDir
                                          + year + "_" + month + "/" + day + "/" + a.Id + "/";

                        if (!Directory.Exists(savePath))
                        {
                            DirectoryInfo _di = Directory.CreateDirectory(pathToApp + savePath);
                        }

                        int count = 0;
                        foreach (var img in fi)
                        {
                            if (allowedExtensions.Contains(img.Extension))
                            {
                                count++;
                                if (!img.Name.ToLower().Contains("_preview"))
                                {
                                    // превью
                                    using (Image <Rgba32> _imgPrev = Image.Load(img.FullName))
                                    {
                                        _imgPrev.Mutate(x => x
                                                        .Resize(120, 120));
                                        _imgPrev.Save(pathToApp + savePath + "prev_" + count.ToString() + img.Extension); // automatic encoder selected based on extension.
                                    }

                                    // изображение
                                    using (Image <Rgba32> _imgReal = Image.Load(img.FullName))
                                    {
                                        _imgReal.Mutate(x => x
                                                        .Resize(120, 120));
                                        _imgReal.Save(pathToApp + savePath + count.ToString() + img.Extension); // automatic encoder selected based on extension.
                                    }

                                    // сохраняем фотку по новому пути
                                    var photo = new MainPhotos
                                    {
                                        Id       = Guid.NewGuid(),
                                        AlbumId  = a.Id,
                                        CTitle   = count.ToString() + img.Extension,
                                        DDate    = img.LastWriteTime,
                                        CPreview = pathToApp + savePath + "prev_" + count.ToString() + img.Extension,
                                        CPhoto   = pathToApp + savePath + count.ToString() + img.Extension
                                    };
                                    allPhotosCount += SavePhotoToAlbum(photo);
                                }
                            }
                        }
                    }
                }
            }
        }