public ActionResult Add(PackagesViewModel model)
        {
            if (model.ImageUpload == null || model.ImageUpload.ContentLength == 0)
            {
                ModelState.AddModelError("ErrorMessage", "The image field is required.");
                return View(model);
            }

            if (ModelState.IsValid)
            {
                // Process image
                string[] validImageTypes = new string[]
                {
                    "image/gif",
                    "image/jpeg",
                    "image/pjpeg",
                    "image/png"
                };

                if (!validImageTypes.Contains(model.ImageUpload.ContentType))
                {
                    ModelState.AddModelError("ErrorMessage", "Please choose either a GIF, JPG or PNG image.");
                    return View(model);
                }

                string uploadDir = @"~/Images/Packages";
                string imagePath = Path.Combine(Server.MapPath(uploadDir), model.ImageUpload.FileName);
                string imageUrl = Path.Combine(uploadDir, model.ImageUpload.FileName);
                model.ImageUpload.SaveAs(imagePath);

                Package package = model.ToPackage();
                package.ImageUrl = imageUrl;
                package.Status = PackageStatusEnum.Available;
                package.ApplicationUserId = WebSecurity.CurrentUserId;

                Result<Package> result = packageService.AddPackage(package);

                if (result.Status == ResultEnum.Success)
                {
                    return RedirectToAction("Add", "Activities", new { packageId = result.Data.PackageId });
                }
                else
                {
                    ModelState.AddModelError("ErrorMessage", "Sorry, we were unable to create your package.");
                    model.DisableSubmit = true;
                    return View(model);
                }
            }

            ModelState.AddModelError("ErrorMessage", "Sorry, we were unable to create your package.");
            model.DisableSubmit = true;
            return View(model);
        }