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); }
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; }
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); }
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); } }