// // GET: /Gallery/ public ActionResult Index(int id) { var db = new CustomMembershipDB(); var page = db.GalleryPages.FirstOrDefault(g => g.Id == id); if (page == null) { page = new GalleryPages(); } return(View(page)); }
public ActionResult GalleryPagesAddNew(GalleryPages newPage) { var db = new CustomMembershipDB(); var form = Request.Form; var i = 0; while (form["GalleryImages[" + i + "].Id"] != null) { var imageId = int.Parse(form["GalleryImages[" + i + "].Id"]); var imageAlt = form["GalleryImages[" + i + "].Alt"]; var imageBottomText = form["GalleryImages[" + i + "].BottomText"]; var curGalleryImage = db.GalleryImages.SingleOrDefault(g => g.Id == imageId); if (curGalleryImage != null) { curGalleryImage.Alt = imageAlt; curGalleryImage.BottomText = imageBottomText; newPage.GalleryImages.Add(curGalleryImage); } i++; } if (ModelState.IsValid) { //upload files var saveToDirectory = AppDomain.CurrentDomain.BaseDirectory + "Images/Gallery Pages/"; var uploadedMultipleFiles = new List <string>(); foreach (string file in Request.Files) { var multipleFiles = Request.Files.GetMultiple(file); if (multipleFiles.Count > 1 && !uploadedMultipleFiles.Contains(file)) //multiple uploaded files { var curGalleryId = 1; if (db.GalleryPages.Count() > 0) { curGalleryId = db.GalleryPages.Max(p => p.Id) + 1; } var imagePath = "Gallery " + curGalleryId + "/"; var saveToDirectoryMult = saveToDirectory + imagePath; foreach (var item in multipleFiles) { if (item.ContentLength == 0 || uploadedMultipleFiles.Contains(file)) { continue; } var saveFileName = AdminHelper.ClearStrForDBSave(item.FileName); if (!Directory.Exists(saveToDirectoryMult)) { Directory.CreateDirectory(saveToDirectoryMult); } saveFileName = AdminHelper.GetUniqueFileName(saveToDirectoryMult, saveFileName); string savedFileName = Path.Combine( saveToDirectoryMult, saveFileName); item.SaveAs(savedFileName); newPage.GalleryImages.Add(new GalleryImages() { Name = saveFileName, Path = imagePath + saveFileName }); } uploadedMultipleFiles.Add(file); //add to list with multiple uploaded group names } else { HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase; if (hpf.ContentLength == 0 || uploadedMultipleFiles.Contains(file)) { continue; } var saveFileName = Path.GetFileName(hpf.FileName); saveFileName = AdminHelper.GetUniqueFileName(saveToDirectory, saveFileName); string savedFileName = Path.Combine( saveToDirectory, saveFileName); hpf.SaveAs(savedFileName); if (file.Equals("TitleImage")) { newPage.TitleImage = saveFileName; } else if (file.Equals("BodyImage")) { newPage.BodyImage = saveFileName; } else if (file.Equals("FooterImage")) { newPage.FooterImage = saveFileName; } } } if (newPage.Id == null) { db.GalleryPages.Add(newPage); } else { db.Entry(newPage).State = EntityState.Modified; } db.SaveChanges(); } return(RedirectToAction("GalleryPages")); }