示例#1
0
        public ActionResult RemoveBannerElement(string Element_ID, string Page_ID)
        {
            int           elementID = Convert.ToInt32(Element_ID);
            BannerElement element   = (BannerElement)(from be in db.BannerElements where be.Element_ID == elementID select be).FirstOrDefault();

            element.Archived     = true;
            element.Archive_By   = User.Identity.Name.ToString();///TODO: need authentication here
            element.Date_Archive = DateTime.Now;
            db.SaveChanges();
            return(RedirectToAction("Edit", new { id = Page_ID }));
        }
示例#2
0
 public BannerElementEditViewModel(BannerElement element, int Page_ID)
 {
     this.Banner_ID        = element.Banner_ID;
     this.Element_ID       = element.Element_ID;
     this.Page_ID          = Page_ID;
     this.Header_Text      = element.Header_Text;
     this.Summary          = element.Summary;
     this.Content_Type_ID  = element.Content_Type_ID;
     this.Content_ID       = element.Content_ID;
     availableContentTypes = (List <ContentType>)(from c in db.ContentTypes select c).ToList();
 }
示例#3
0
        public ActionResult EditBannerElement(int Page_ID, int Element_ID)
        {
            BannerElement element = db.BannerElements.Find(Element_ID);

            if (element == null)
            {
                return(HttpNotFound());
            }
            BannerElementEditViewModel elementViewMod = new BannerElementEditViewModel(element, Page_ID);

            return(View("EditBannerElement", elementViewMod));
        }
示例#4
0
        public ActionResult AddBannerElement(string Header_Text, string Summary, int?Banner_ID, int Page_ID, int?Content_Type_ID, int?Content_ID)
        {
            //you are here
            //check image size and validate that image was added
            HttpPostedFileBase file = Request.Files["BannerImage"];

            if (file != null)
            {
                if (file.ContentLength > 0)
                {
                    if (!(file.ContentLength > MAX_IMG_SIZE))
                    {
                        byte[] imageSize = new byte[file.ContentLength];
                        file.InputStream.Read(imageSize, 0, (int)file.ContentLength);
                        string filePath     = Server.MapPath("~/images/banners/") + file.FileName;
                        string fileName     = file.FileName;
                        string fileNameNoEx = Path.GetFileNameWithoutExtension(file.FileName);
                        string ext          = Path.GetExtension(file.FileName);
                        if (ext.ToLower() == ".jpg" || ext.ToLower() == ".png")
                        {
                            if (System.IO.File.Exists(filePath))
                            {
                                int i = 1;
                                filePath = Server.MapPath("~/images/banners/") + fileNameNoEx + i.ToString() + ext;
                                while (System.IO.File.Exists(filePath))
                                {
                                    i++;
                                    filePath = Server.MapPath("~/images/banners/") + fileNameNoEx + i.ToString() + ext;
                                    fileName = fileNameNoEx + i.ToString() + ext;
                                }
                            }
                            file.SaveAs(filePath);
                            Page page = db.Pages.Find(Page_ID);
                            if (Banner_ID != null)
                            {
                                BannerElement newElement = new BannerElement();
                                newElement.Banner_ID   = Banner_ID.Value;
                                newElement.Header_Text = Header_Text;
                                newElement.Summary     = Summary;
                                newElement.Date_Added  = DateTime.Now;
                                newElement.Added_By    = User.Identity.Name.ToString();///TODO: Need authentication here
                                newElement.Archived    = false;
                                newElement.Image_Path  = "images/banners/" + fileName;
                                if (Content_Type_ID != null)//link to content if provided
                                {
                                    if (Content_Type_ID != 0)
                                    {
                                        newElement.Content_ID      = Content_ID;
                                        newElement.Content_Type_ID = Content_Type_ID;
                                    }
                                }
                                db.BannerElements.Add(newElement);
                                db.SaveChanges();
                            }
                            else
                            {
                                Banner newBanner  = new Banner();
                                string bannerName = page.Page_Name + "Banner";
                                if (((List <Banner>)(from b in db.Banners where b.Banner_Name == bannerName select b).ToList()).Count() > 0)
                                {
                                    int    nameCnt   = 1;
                                    string nameStrng = bannerName + nameCnt.ToString();
                                    while (((List <Banner>)(from b in db.Banners where b.Banner_Name == nameStrng select b).ToList()).Count() > 0)
                                    {
                                        nameCnt++;
                                        nameStrng = bannerName + nameCnt.ToString();
                                    }
                                    bannerName = nameStrng;
                                }
                                newBanner.Banner_Name = bannerName;
                                db.Banners.Add(newBanner);
                                db.SaveChanges();

                                page.Banner = newBanner;

                                BannerElement newElement = new BannerElement();
                                newElement.Banner_ID   = newBanner.Banner_ID;
                                newElement.Header_Text = Header_Text;
                                newElement.Summary     = Summary;
                                newElement.Date_Added  = DateTime.Now;
                                newElement.Added_By    = User.Identity.Name.ToString();///TODO: Need authentication here
                                newElement.Archived    = false;
                                newElement.Image_Path  = "images/banners/" + fileName;
                                if (Content_Type_ID != null)//link to content if provided
                                {
                                    if (Content_Type_ID != 0)
                                    {
                                        newElement.Content_ID      = Content_ID;
                                        newElement.Content_Type_ID = Content_Type_ID;
                                    }
                                }
                                db.BannerElements.Add(newElement);
                                db.SaveChanges();
                            }
                            return(RedirectToAction("Edit", new { id = Page_ID }));
                        }
                        else
                        {
                            ModelState.AddModelError("", "Only .png and .jpg images are supported");
                            Page page = db.Pages.Find(Page_ID);
                            if (page == null)
                            {
                                return(HttpNotFound());
                            }
                            ViewBag.Banner_ID = new SelectList(db.Banners, "Banner_ID", "Banner_Name", page.Banner_ID);
                            PageEditViewModel viewMod = new PageEditViewModel(page);
                            return(View("Edit", viewMod));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Your Banner Image must be less than 10 MB");
                        Page page = db.Pages.Find(Page_ID);
                        if (page == null)
                        {
                            return(HttpNotFound());
                        }
                        ViewBag.Banner_ID = new SelectList(db.Banners, "Banner_ID", "Banner_Name", page.Banner_ID);
                        PageEditViewModel viewMod = new PageEditViewModel(page);
                        return(View("Edit", viewMod));
                    }
                }
                else
                {
                    ModelState.AddModelError("", "You must select a banner image");
                    Page page = db.Pages.Find(Page_ID);
                    if (page == null)
                    {
                        return(HttpNotFound());
                    }
                    ViewBag.Banner_ID = new SelectList(db.Banners, "Banner_ID", "Banner_Name", page.Banner_ID);
                    PageEditViewModel viewMod = new PageEditViewModel(page);
                    return(View("Edit", viewMod));
                }
            }
            else
            {
                ModelState.AddModelError("", "You must select a banner image");
                Page page = db.Pages.Find(Page_ID);
                if (page == null)
                {
                    return(HttpNotFound());
                }
                ViewBag.Banner_ID = new SelectList(db.Banners, "Banner_ID", "Banner_Name", page.Banner_ID);
                PageEditViewModel viewMod = new PageEditViewModel(page);
                return(View("Edit", viewMod));
            }
        }