private void SaveAction()
        {
            try
            {
                if (!_validationGroup.Validate())
                {
                    return;
                }

                var package = new PackageItem
                {
                    Barcode = Barcode.Value,
                    Width   = Width.Value.ToDouble(),
                    Height  = Height.Value.ToDouble(),
                    Depth   = Depth.Value.ToDouble(),
                    Date    = DateTimeOffset.Now
                };

                _packageService.AddPackage(package);
                _popupService.ShowToast(string.Format(Strings.PackageSaveSuccess,
                                                      package.Width,
                                                      package.Height,
                                                      package.Depth,
                                                      package.Barcode));

                ResetAction();
            }
            catch (Exception e)
            {
                _popupService.ShowToast(string.Format(Strings.PackageSaveError, e.Message));
            }
        }
예제 #2
0
        public IActionResult CreatePackage(CreatePackageViewModel packageViewModel)
        {
            if (!ModelState.IsValid)
            {
                var users = _userService.GetUsers();
                var createPackageViewModel = new CreatePackageViewModel
                {
                    Users = users
                };

                return(this.View(createPackageViewModel));
            }

            var userId  = Request.Form["UserId"];
            var package = new Package
            {
                Description      = packageViewModel.Description,
                Weight           = packageViewModel.Weight,
                ShippingAddreess = packageViewModel.ShippingAddress,
                RecipientId      = userId
            };

            _packageService.AddPackage(package);
            return(RedirectToAction("PendingPackages", "Package"));
        }
예제 #3
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));
        }