Beispiel #1
0
        public async Task <ProductCRUDResultModel> AddProduct(AddProductModel prodModel, int managerId)
        {
            try
            {
                string uniqueThumbName    = fileManager.ValidateFile(prodModel.ThumbNail);
                string uniqueFullsizeName = fileManager.ValidateFile(prodModel.FullSize);

                var product = new Product()
                {
                    Name      = prodModel.Name,
                    Details   = prodModel.Description,
                    Price     = prodModel.Price,
                    ThumbNail = new Image
                    {
                        ThumbNailPath = uniqueThumbName,
                        FullSizePath  = uniqueFullsizeName
                    },
                    ManagerId = managerId
                };

                var user = await userManager.GetByUserId(managerId);

                await prodManager.AddNewProduct(product, user.Role);

                fileManager.UploadFile(prodModel.ThumbNail, uniqueThumbName);
                fileManager.UploadFile(prodModel.FullSize, uniqueFullsizeName);
            }
            catch (InvalidImageException ex)
            {
                return(new ProductCRUDResultModel {
                    IsSuccessful = false, Message = ex.Message
                });
            }
            catch (InvalidUserException ex)
            {
                return(new ProductCRUDResultModel {
                    IsSuccessful = false, Message = ex.Message
                });
            }
            catch (PermissionException ex)
            {
                return(new ProductCRUDResultModel {
                    IsSuccessful = false, Message = ex.Message
                });
            }
            catch (ProductException ex)
            {
                return(new ProductCRUDResultModel {
                    IsSuccessful = false, Message = ex.Message
                });
            }

            return(new ProductCRUDResultModel {
                IsSuccessful = true, Message = "Product saved succesfully!"
            });
        }
Beispiel #2
0
        public async Task <IActionResult> AddProduct(ProductDto dto, string subcategoryName)
        {
            var result = await _productManager.AddNewProduct(dto, subcategoryName);

            return(Ok(result));
        }
Beispiel #3
0
        private void btnEditSaveProduct_Click(object sender, RoutedEventArgs e)
        {
            if (((string)btnEditSaveProduct.Content) == "Edit")
            {
                setupEdit();
            }
            else
            {
                if (_addProduct == false)
                {
                    if (!txtProductName.Text.IsValidProductName())
                    {
                        MessageBox.Show("Invalid Product Name.");
                        txtProductName.Focus();
                        txtProductName.SelectAll();
                        return;
                    }

                    if (!txtVendorName.Text.IsValidVendorName())
                    {
                        MessageBox.Show("Invalid Vendor Name.");
                        txtVendorName.Focus();
                        txtVendorName.SelectAll();
                        return;
                    }

                    if (!txtProductType.Text.IsValidProductType())
                    {
                        MessageBox.Show("Invalid Product Type.");
                        txtProductType.Focus();
                        txtProductType.SelectAll();
                        return;
                    }

                    if (!txtBuyPrice.Text.IsValidBuyPrice())
                    {
                        MessageBox.Show("Invalid Buy price.");
                        txtBuyPrice.Focus();
                        txtBuyPrice.SelectAll();
                        return;
                    }

                    if (!txtSalePrice.Text.IsValidSalePrice())
                    {
                        MessageBox.Show("Invalid Sale Price.");
                        txtSalePrice.Focus();
                        txtSalePrice.SelectAll();
                        return;
                    }

                    if (!txtQuantity.Text.IsValidQuantity())
                    {
                        MessageBox.Show("Please Enter a Positive Number.");
                        txtQuantity.Focus();
                        txtQuantity.SelectAll();
                        return;
                    }

                    var newProduct = new Product()
                    {
                        ProductName = txtProductName.Text,
                        Vendor      = txtVendorName.Text,
                        ProductType = txtProductType.Text,
                        BuyPrice    = Convert.ToDecimal(txtBuyPrice.Text),
                        SalePrice   = Convert.ToDecimal(txtSalePrice.Text),
                        Quantity    = Convert.ToInt32(txtQuantity.Text),
                        Active      = (bool)chkBoxActive.IsChecked
                    };

                    try
                    {
                        _productManager.UpdateProduct(_product, newProduct);
                        this.DialogResult = true;
                    }
                    catch (Exception ex)
                    {
                        if (ex.InnerException.Message.Contains("deactivated"))
                        {
                            chkBoxActive.IsChecked = true;
                        }
                        MessageBox.Show(ex.Message + "\n\n" + ex.InnerException.Message);
                    }
                }
                else
                {
                    if (!txtProductName.Text.IsValidProductName())
                    {
                        MessageBox.Show("Invalid Product Name.");
                        txtProductName.Focus();
                        txtProductName.SelectAll();
                        return;
                    }

                    if (!txtVendorName.Text.IsValidVendorName())
                    {
                        MessageBox.Show("Invalid Vendor Name.");
                        txtVendorName.Focus();
                        txtVendorName.SelectAll();
                        return;
                    }

                    if (!txtProductType.Text.IsValidProductType())
                    {
                        MessageBox.Show("Invalid Product Type.");
                        txtProductType.Focus();
                        txtProductType.SelectAll();
                        return;
                    }

                    if (!txtBuyPrice.Text.IsValidBuyPrice())
                    {
                        MessageBox.Show("Invalid Buy price.");
                        txtBuyPrice.Focus();
                        txtBuyPrice.SelectAll();
                        return;
                    }

                    if (!txtSalePrice.Text.IsValidSalePrice())
                    {
                        MessageBox.Show("Invalid Sale Price.");
                        txtSalePrice.Focus();
                        txtSalePrice.SelectAll();
                        return;
                    }

                    if (!txtQuantity.Text.IsValidQuantity())
                    {
                        MessageBox.Show("Please Enter a Positive Number.");
                        txtQuantity.Focus();
                        txtQuantity.SelectAll();
                        return;
                    }

                    var newProduct = new Product()
                    {
                        ProductName = txtProductName.Text,
                        Vendor      = txtVendorName.Text,
                        ProductType = txtProductType.Text,
                        BuyPrice    = Convert.ToDecimal(txtBuyPrice.Text),
                        SalePrice   = Convert.ToDecimal(txtSalePrice.Text),
                        Quantity    = Convert.ToInt32(txtQuantity.Text),
                        Active      = (bool)chkBoxActive.IsChecked
                    };

                    try
                    {
                        _productManager.AddNewProduct(newProduct);
                        this.DialogResult = true;
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message + "\n\n" + ex.InnerException.Message);
                    }
                }
            }
        }