Example #1
0
 public ActionResult Edit(string Calender_Name, int Page_ID, int Calender_ID, bool Archived, bool?Return_Home)
 {
     if (Return_Home != null)
     {
         ViewBag.Return_Home = true;
         Page page = db.Pages.Find(Page_ID);
         ViewBag.Page_Url = page.URL;
     }
     if (ModelState.IsValid)
     {
         Calender calender = db.Calenders.Find(Calender_ID);
         calender.Calender_Name = Calender_Name;
         if (calender.Archived != Archived)
         {
             calender.Archived      = Archived;
             calender.Date_Archived = DateTime.Now;
             calender.Archived_By   = User.Identity.Name.ToString();///TODO: auth
         }
         calender.Last_Updated = DateTime.Now;
         calender.Updated_By   = User.Identity.Name.ToString();///TODO:auth
         db.SaveChanges();
         return(RedirectToAction("Edit", new { Page_ID = Page_ID, Calender_ID = Calender_ID, Return_Home = Return_Home }));
     }
     else
     {
         CalenderEditViewModel calViewMod = new CalenderEditViewModel();
         calViewMod.Page_ID       = Page_ID;
         calViewMod.Calender_Name = Calender_Name;
         calViewMod.Calender_ID   = Calender_ID;
         calViewMod.Archived      = Archived;
         ModelState.AddModelError("", "Invalid Model State. Changes not saved.");
         return(View(calViewMod));
     }
 }
Example #2
0
        public ActionResult Edit(int Page_ID, int Calender_ID, bool?Return_Home)
        {
            if (Return_Home != null)
            {
                ViewBag.Return_Home = true;
                Page page = db.Pages.Find(Page_ID);
                ViewBag.Page_Url = page.URL;
            }
            Calender calender = db.Calenders.Find(Calender_ID);

            if (calender == null)
            {
                return(HttpNotFound());
            }
            CalenderEditViewModel calViewMod = new CalenderEditViewModel(Page_ID, calender);

            return(View(calViewMod));
        }
Example #3
0
        public ActionResult AddEvent(CalenderEditViewModel calViewMod, bool?Return_Home)
        {
            if (Return_Home != null)
            {
                ViewBag.Return_Home = true;
                Page page = db.Pages.Find(calViewMod.Page_ID);
                ViewBag.Page_Url = page.URL;
            }
            Event  ev            = new Event();
            string pathRoot      = "~/" + CAL_IMG_BASE_ROOT;
            string dbRoot        = CAL_IMG_BASE_ROOT;
            string pathThumbRoot = "~/" + CAL_IMG_BASE_ROOT + "thumbs/";
            string dbThumbRoot   = CAL_IMG_BASE_ROOT + "thumbs/";


            if (!System.IO.Directory.Exists(Server.MapPath(pathRoot)))
            {
                System.IO.Directory.CreateDirectory(Server.MapPath(pathRoot));
            }
            if (!System.IO.Directory.Exists(Server.MapPath(pathThumbRoot)))
            {
                System.IO.Directory.CreateDirectory(Server.MapPath(pathThumbRoot));
            }

            HttpPostedFileBase file = Request.Files["Flyer"];

            if (file != null)
            {
                if (file.ContentLength > 0)
                {
                    if (file.ContentLength <= MAX_IMG_SIZE)
                    {
                        DateTime start = Convert.ToDateTime(calViewMod.Start_Date + " " + calViewMod.Start_Time);
                        DateTime end   = Convert.ToDateTime(calViewMod.End_Date + " " + calViewMod.End_Time);
                        if (start > end)
                        {
                            ModelState.AddModelError("", "The event start date/time cannot be after the envent end date/time");
                            return(View(calViewMod));
                        }
                        else
                        {
                            string fileNameNoEx = Path.GetFileNameWithoutExtension(file.FileName);
                            string ext          = Path.GetExtension(file.FileName).ToLower();
                            if (ext == ".jpg" || ext == ".png")
                            {
                                try
                                {
                                    fileNameNoEx = UploadFile(file, pathRoot, fileNameNoEx, ext);
                                    Image  img         = Image.FromFile(Server.MapPath(pathRoot) + file.FileName);
                                    string newFilePath = Server.MapPath(pathThumbRoot) + fileNameNoEx + ext;
                                    if (img.Height > CAL_IMG_HEIGHT)
                                    {
                                        int    width      = img.Width;
                                        int    height     = img.Height;
                                        double origDouble = Convert.ToDouble(height);
                                        double maxDouble  = Convert.ToDouble(CAL_IMG_HEIGHT);
                                        double perc       = 1 - ((origDouble - maxDouble) / origDouble);
                                        width  = Convert.ToInt32(Convert.ToDouble(width) * perc);
                                        height = Convert.ToInt32(Convert.ToDouble(height) * perc);
                                        Size  newSize  = new Size(width, height);
                                        Image newImage = (Image)(new Bitmap(img, newSize));

                                        string retName = fileNameNoEx;
                                        if (System.IO.File.Exists(newFilePath))
                                        {
                                            int i = 1;
                                            newFilePath = Server.MapPath(pathRoot) + fileNameNoEx + i.ToString() + ext;
                                            retName     = fileNameNoEx + i.ToString();
                                            while (System.IO.File.Exists(newFilePath))
                                            {
                                                i++;
                                                newFilePath = Server.MapPath(pathRoot) + fileNameNoEx + i.ToString() + ext;
                                                retName     = fileNameNoEx + i.ToString();
                                            }
                                            fileNameNoEx = retName;
                                        }

                                        if (ext == ".jpg")
                                        {
                                            newImage.Save(newFilePath, ImageFormat.Jpeg);
                                        }
                                        else if (ext == ".png")
                                        {
                                            newImage.Save(newFilePath, ImageFormat.Png);
                                        }
                                        else
                                        {
                                            newImage.Save(newFilePath);
                                        }
                                    }
                                    else
                                    {
                                        if (ext == ".jpg")
                                        {
                                            img.Save(newFilePath, ImageFormat.Jpeg);
                                        }
                                        else if (ext == ".png")
                                        {
                                            img.Save(newFilePath, ImageFormat.Png);
                                        }
                                        else
                                        {
                                            img.Save(newFilePath);
                                        }
                                    }
                                }
                                catch (Exception EX)
                                {
                                    ModelState.AddModelError("", "Failed to upload file. " + EX.Message);
                                    return(View(calViewMod));
                                }
                                Calender cal = db.Calenders.Find(calViewMod.Calender_ID);
                                ev.Event_Name      = calViewMod.Event_Name;
                                ev.Description     = calViewMod.Description;
                                ev.Location        = calViewMod.Location;
                                ev.Start_Date_Time = start;
                                ev.End_Date_Time   = end;
                                ev.Date_Added      = DateTime.Now;
                                ev.Added_By        = User.Identity.Name.ToString();///TODO:Auth
                                ev.Archived        = false;
                                ev.Calender        = cal;
                                ev.Image_Path      = dbRoot + fileNameNoEx + ext;
                                ev.Thumb_Path      = dbThumbRoot + fileNameNoEx + ext;
                                db.Events.Add(ev);
                                db.SaveChanges();
                                return(RedirectToAction("Edit", new { Page_ID = calViewMod.Page_ID, Calender_ID = calViewMod.Calender_ID, Return_Homen = Return_Home }));
                            }
                            else
                            {
                                ModelState.AddModelError("", "Only .png and .jpg images are supported");
                                return(View(calViewMod));
                            }
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "Flyers/Images must be less than 10 MB");
                        return(View(calViewMod));
                    }
                }
                else
                {
                    ModelState.AddModelError("", "You must add a Flyer/Image");
                    return(View(calViewMod));
                }
            }
            else
            {
                ModelState.AddModelError("", "You must add a Flyer/Image");
                return(View(calViewMod));
            }
        }