private void OnNewProductSaveButton(object sender, RoutedEventArgs e)
        {
            (bool isNameEmpty, bool isNameError) = service.ValidateNameTextField(nameTextField, nameErrorLabel);
            bool isDescriptionEmpty = service.ValidateDescriptionTextField(descriptionTextField, descriptionErrorLabel);

            (bool isPriceEmpty, bool isPriceError) = service.ValidatePriceTextField(priceTextField, priceErrorLabel);
            bool isDiscountError = service.ValidateDiscountTextField(discountTextField, discountErrorLabel);

            (bool isAmountEmpty, bool isAmountError) = service.ValidateAmountTextField(amountTextField, amountErrorLabel);
            (bool isUnitEmpty, bool isUnitError)     = service.ValidateUnitTextField(unitTextField, unitErrorLabel);
            bool isTaxEmpty = service.ValidateAddTaxButton(addTaxButton, taxErrorLabel);

            if (!isNameEmpty && !isNameError && !isDescriptionEmpty &&
                !isPriceEmpty && !isPriceError && !isDiscountError &&
                !isAmountEmpty && !isAmountError && !isUnitEmpty &&
                !isUnitError && !isTaxEmpty)
            {
                if (!isUpdateFlag)
                {
                    product = new Product();
                }

                product.Name        = nameTextField.Text;
                product.Description = descriptionTextField.Text;
                product.Price       = Convert.ToDecimal(priceTextField.Text);
                product.Discount    = Convert.ToInt32(discountTextField.Text);
                product.Amount      = Convert.ToDouble(amountTextField.Text);
                product.Unit        = unitTextField.Text;
                product.Tax         = tax;

                repository.AddProduct(product, context, isUpdateFlag);
                productWindow.RefreshProductGridData();
                Close();
            }
        }