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!" }); }
public async Task <IActionResult> AddProduct(ProductDto dto, string subcategoryName) { var result = await _productManager.AddNewProduct(dto, subcategoryName); return(Ok(result)); }
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); } } } }