Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        public ActionResult Add()
        {
            PackagesViewModel model = new PackagesViewModel();

            if (MvcApplication.SHOW_SAMPLE_FORM_DATA)
            {
                // Show dummy user data for model
                model = SampleModelData.GetSamplePackagesViewModel();
            }

            return View(model);
        }
Esempio n. 3
0
        public ActionResult Edit(PackagesViewModel model)
        {
            if (ModelState.IsValid)
            {
                Result<Package> packageResult = new Result<Package>();
                packageResult = packageService.GetPackageById(model.Id);

                Package package = new Package();

                if (packageResult.Status == ResultEnum.Success && packageResult.Data.Status == PackageStatusEnum.Available)
                {
                    package = packageResult.Data;

                    package.City = model.City;
                    package.State = model.State;
                    package.Accomodation = model.Accomodation;
                    package.Amount = model.Price;
                }
                else
                {
                    model.ErrorMessage = "Unable to edit the package.";
                    return View(model);
                }

                ResultEnum result = packageService.UpdatePackage(package);

                if (result == ResultEnum.Success)
                {
                    model.SuccessMessage = "Package successfully edited.";
                }
                else
                {
                    model.ErrorMessage = "Unable to edit the package.";
                }

                return View(model);
            }

            model.ErrorMessage = "Unable to edit the package.";
            return View(model);
        }
Esempio n. 4
0
        public ActionResult Edit(int? id)
        {
            if (id == null)
            {
                return RedirectToAction("Index", "Home");
            }

            int packageId = id.GetValueOrDefault();

            PackagesViewModel model = new PackagesViewModel();

            Result<Package> packageResult = new Result<Package>();
            packageResult = packageService.GetPackageById(packageId);

            if (packageResult.Status == ResultEnum.Success &&
                WebSecurity.CurrentUserId == packageResult.Data.ApplicationUserId &&
                packageResult.Data.Status == PackageStatusEnum.Available)
            {
                model = packageResult.Data.ToPackagesViewModel();
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }

            return View(model);
        }