Esempio n. 1
0
        public ActionResult Create(PhotoViewModel PhotoViewModel, IEnumerable <HttpPostedFileBase> files)
        {
            PhotoManager photoManager = new PhotoManager();

            if (!ModelState.IsValid)
            {
                return(View(PhotoViewModel));
            }
            if (files.Count() == 0 || files.FirstOrDefault() == null)
            {
                ViewBag.error = "Please choose a file";
                return(View(PhotoViewModel));
            }

            var model = new PhotoViewModel();

            foreach (var file in files)
            {
                if (file.ContentLength == 0)
                {
                    continue;
                }

                model.Description = PhotoViewModel.Description;
                var fileName  = Guid.NewGuid().ToString();
                var extension = System.IO.Path.GetExtension(file.FileName).ToLower();

                using (var img = System.Drawing.Image.FromStream(file.InputStream))
                {
                    model.ThumbPath = String.Format("/GalleryImages/thumbs/{0}{1}", fileName, extension);
                    model.ImagePath = String.Format("/GalleryImages/{0}{1}", fileName, extension);

                    // Save thumbnail size image, 100 x 100
                    SaveToFolder(img, fileName, extension, new Size(100, 100), model.ThumbPath);

                    // Save large size image, 800 x 800
                    SaveToFolder(img, fileName, extension, new Size(600, 600), model.ImagePath);
                }

                // Save record to database
                model.CreatedOn = DateTime.Now;
            }
            photoManager.CreatePhoto(model);
            return(RedirectPermanent("/home"));
        }