Exemplo n.º 1
0
        //
        // 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));
        }
Exemplo n.º 2
0
        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"));
        }