Ejemplo n.º 1
0
        public async Task <ActionResult> Create(ProductCreateVM createModel)
        {
            if (createModel?.Product == null)
            {
                ModelState.AddModelError(string.Empty, "Please fill in the required fields");
                createModel = await SetDictionaries(createModel ?? new ProductCreateVM());

                return(View(createModel));
            }

            createModel = await SetDictionaries(createModel);

            if (!ModelState.IsValid)
            {
                if (createModel.Characteristics == null)
                {
                    return(View(createModel));
                }

                ValidateCharacteristics(createModel.Characteristics);

                return(View(createModel));
            }

            OperationResult result = await _productManager.CreateAsync(new ProductCreateDTO
            {
                ProductCharacteristics = createModel.Characteristics,
                Product = new ProductDTO
                {
                    Id          = createModel.Product.Id,
                    CountryId   = createModel.Product.CountryId,
                    CategoryId  = createModel.Product.CategoryId,
                    BrandId     = createModel.Product.BrandId,
                    Description = createModel.Product.Description,
                    Name        = createModel.Product.Name,
                    Price       = createModel.Product.Price,
                    Removed     = createModel.Product.Removed,
                    Weight      = createModel.Product.Weight
                },
                ProductImage = createModel.Image
            });

            // var toastOpt = new NotyOptions
            // {
            //     Timeout = 15000,
            //     ProgressBar = true
            // };
            //
            // if (result.Type == ResultType.Success)
            // {
            //     toastOpt.Timeout = 5000;
            //     _toast.AddSuccessToastMessage("Product successfully created.", toastOpt);
            // }
            // else if (result.Type == ResultType.Warning)
            // {
            //     string warMsg = result.Any(s => !string.IsNullOrWhiteSpace(s))
            //         ? result.BuildMessage()
            //         : "The product has been created with warnings.";
            //     _toast.AddWarningToastMessage(warMsg, toastOpt);
            // }

            if (result.Type == ResultType.Success)
            {
                return(RedirectToAction(nameof(List)));
            }

            if (result.All(string.IsNullOrWhiteSpace))
            {
                result.Append("The product has been created with warnings.");
            }

            AddMessages(result.ToArray());

            return(View(createModel));
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> Edit(ProductCreateVM editModel)
        {
            if (editModel?.Product == null)
            {
                ModelState.AddModelError(string.Empty, "Product not found");
                editModel = await SetDictionaries(editModel ?? new ProductCreateVM());

                return(View(editModel));
            }

            editModel = await SetDictionaries(editModel);

            if (!ModelState.IsValid)
            {
                if (editModel.Characteristics == null)
                {
                    return(View(editModel));
                }

                ValidateCharacteristics(editModel.Characteristics);

                return(View(editModel));
            }

            OperationResult result = await _productManager.Edit(new ProductCreateDTO
            {
                ProductCharacteristics = editModel.Characteristics,
                Product = new ProductDTO
                {
                    Id          = editModel.Product.Id,
                    CountryId   = editModel.Product.CountryId,
                    CategoryId  = editModel.Product.CategoryId,
                    BrandId     = editModel.Product.BrandId,
                    Description = editModel.Product.Description,
                    Name        = editModel.Product.Name,
                    Price       = editModel.Product.Price,
                    Removed     = editModel.Product.Removed,
                    Weight      = editModel.Product.Weight
                },
                ProductImage = editModel.Image
            });

            // var toastOpt = new NotyOptions
            // {
            //     Timeout = 15000,
            //     ProgressBar = true
            // };

            // if (result.Type == ResultType.Success)
            // {
            //     _toast.AddSuccessToastMessage("Product successfully edited.", toastOpt);
            // }
            // else if (result.Type == ResultType.Warning)
            // {
            //     string warMsg = result.Any(s => !string.IsNullOrWhiteSpace(s))
            //         ? result.BuildMessage()
            //         : "The product has been edited with warnings.";
            //     _toast.AddWarningToastMessage(warMsg, toastOpt);
            // }
            // else if (result.Type == ResultType.Error)
            // {
            //     string errMsg = result.Any(s => !string.IsNullOrWhiteSpace(s))
            //         ? result.BuildMessage()
            //         : "The product has not been edited due to an unknown error.";
            //     _toast.AddErrorToastMessage(errMsg, toastOpt);
            // }
            if (result.Type == ResultType.Success)
            {
                return(RedirectToAction(nameof(List)));
            }

            if (result.All(string.IsNullOrWhiteSpace))
            {
                string msg = "The product has been edited with warnings.";

                if (result.Type == ResultType.Error)
                {
                    msg = "The product has not been edited due an uknown error.";
                }

                result.Append(msg);
            }

            AddMessages(result.ToArray());

            return(View(editModel));
        }