public ActionResult DeletePhoto(PhotoModel model)
        {
            var user = this.mSessionService.GetSession();
            if (user.LoginStatus != Models.Enums.LoginStatus.LoggedIn || user.AccessLevel == Models.Enums.AccessLevel.NoAccess)
            {
                this.HttpContext.Response.StatusCode = 401;
                return Json(new { }, JsonRequestBehavior.AllowGet);
            }

            this.mPhotoService.DeletePhoto(model.Id, user.Id.Value);

            return Json(new { }, JsonRequestBehavior.AllowGet);
        }
        public ActionResult Index(PhotoModel model)
        {
            var user = this.mSessionService.GetSession();
            if (user.LoginStatus != Models.Enums.LoginStatus.LoggedIn || user.AccessLevel == Models.Enums.AccessLevel.NoAccess)
            {
                this.HttpContext.Response.StatusCode = 401;
                return Json(new { }, JsonRequestBehavior.AllowGet);
            }

            this.mAlbumService.AddPhoto(model, this.HttpContext.Request);
            List<PhotoModel> result = new List<PhotoModel>();
            result.Add(model);
            return Json(new { files = result}, JsonRequestBehavior.AllowGet);
        }
Example #3
0
        public PhotoModel AddPhoto(PhotoModel model, HttpRequestBase request)
        {
            //Extract image
            for(int i = 0; i < request.Files.Count; i++)
            {
                PhotoEntity entity = Mapper.Map<PhotoEntity>(model);
                entity.Date = DateTime.UtcNow;
                entity.FileName = request.Files[i].FileName;

                //does file exist? Do a better deal here.
                if (this.mPhotoRepository.FileNameExists(entity))
                {
                    model.FileExists = true;
                    //throw new HttpException(409, "File name exists!");
                }
                else
                {
                    Mapper.Map(this.mPhotoRepository.Add(entity), model);
                    //Save the photos.
                    this.ScaleAndSavePhotos(model, request);
                }
            }
            return model;
        }
Example #4
0
        private void ScaleAndSavePhotos(PhotoModel model, HttpRequestBase request)
        {
            var file = request.Files[0];
            string extension = Path.GetExtension(file.FileName);
            string filename = file.FileName;

            //Copied Image and add watermark.
            ResizeSettings settings = new ResizeSettings();
            settings.Add("format", "jpg");
            settings.Add("quality", "90");
            settings.Add("carve", "true");
            settings.Add("scale", "down");
            settings.Add("mode", "carve");
            if (model.Watermark)
            {
                settings.Add("watermark", "wm");
            }

            var path = Path.Combine(HttpContext.Current.Server.MapPath(string.Format("~/Albums/{0}", model.AlbumId)));
            if (Directory.Exists(path))
            {
                //thumb is 75x75
                //small is 240x159
                //medium is 500 x 332
                //large is 1024 x 680

                Image img = Image.FromStream(file.InputStream);

                //PropertyItem[] properties = img.PropertyItems;

                //foreach (PropertyItem prop in properties)
                //{

                //}

                bool vert = img.Height > img.Width;

                settings.Add("maxwidth", vert ? "680" : "1024");
                //settings.Add("maxheight", vert ? "1024" : "680");

                Bitmap copy = ImageResizer.ImageBuilder.Current.Build(img, settings, false);
                copy.Save(Path.Combine(path, "Large\\" + filename));

                settings.Remove("maxwidth");
                //settings.Remove("maxheight");
                settings.Remove("watermark");
                settings.Add("maxwidth", vert ? "332" : "500");
                //settings.Add("maxheight", vert ? "500" : "332");
                copy = ImageResizer.ImageBuilder.Current.Build(img, settings, false);
                copy.Save(Path.Combine(path, "Medium\\" + filename));

                settings.Remove("maxwidth");
                //settings.Remove("maxheight");
                settings.Remove("watermark");
                settings.Add("maxwidth", vert ? "200" : "301");
                //settings.Add("maxheight", vert ? "301" : "200");
                copy = ImageResizer.ImageBuilder.Current.Build(img, settings, false);
                copy.Save(Path.Combine(path, "Small\\" + filename));

                settings.Remove("maxwidth");
                settings.Remove("maxwidth");
                settings.Remove("watermark");
                settings.Add("maxwidth", "75");
                settings.Add("maxheight", "75");
                copy = ImageResizer.ImageBuilder.Current.Build(img, settings, false);
                copy.Save(Path.Combine(path, "Thumb\\" + filename));

                file.SaveAs(Path.Combine(path, "Original\\" + filename));
            }
        }
        public ActionResult Slideshows(SlideshowModel model)
        {
            model.ShowIndicator = true;
            model.ShowNavigation = true;
            model.Id = "1269aea1-2771-41e6-ac7d-f8e74a0418be";
            PhotoModel p = new PhotoModel()
            {
                Id = new Guid("1269aea1-2771-41e6-ac7d-f8e74a0418be"),
                FileName = "slide-03.jpg",
                Caption = "Suck it Trebeck"
            };
            model.Items.Add(p);

            PhotoModel p1 = new PhotoModel()
            {
                Id = new Guid("1269aea1-2771-41e6-ac7d-f8e74a0418be"),
                FileName = "slide-02.jpg",
                Caption = "Suck it Trebeck"
            };
            model.Items.Add(p1);

            PhotoModel p2 = new PhotoModel()
            {
                Id = new Guid("1269aea1-2771-41e6-ac7d-f8e74a0418be"),
                FileName = "slide-01.jpg",
                Caption = "Suck it Trebeck"
            };
            model.Items.Add(p2);

            return Json(model, JsonRequestBehavior.AllowGet);
        }
Example #6
0
 private void RemovePhoto(PhotoModel photo)
 {
     var path = Path.Combine(HttpContext.Current.Server.MapPath(string.Format("~/Albums/{0}", photo.AlbumId)));
     if (Directory.Exists(path))
     {
         string o = Path.Combine(HttpContext.Current.Server.MapPath(string.Format("~/Albums/{0}/{1}/{2}", photo.AlbumId, "Original", photo.FileName)));
         File.Delete(o);
         string l = Path.Combine(HttpContext.Current.Server.MapPath(string.Format("~/Albums/{0}/{1}/{2}", photo.AlbumId, "Large", photo.FileName)));
         File.Delete(l);
         string m = Path.Combine(HttpContext.Current.Server.MapPath(string.Format("~/Albums/{0}/{1}/{2}", photo.AlbumId, "Medium", photo.FileName)));
         File.Delete(m);
         string s = Path.Combine(HttpContext.Current.Server.MapPath(string.Format("~/Albums/{0}/{1}/{2}", photo.AlbumId, "Small", photo.FileName)));
         File.Delete(s);
         string t = Path.Combine(HttpContext.Current.Server.MapPath(string.Format("~/Albums/{0}/{1}/{2}", photo.AlbumId, "Thumb", photo.FileName)));
         File.Delete(t);
     }
 }