private void NewItem()
        {
            var product = new Product();
            var viewModel = CreateViewModel(product);
            viewModel.Validate();

            addedProducts.Add(viewModel);

            Products.Add(viewModel);
        }
        public ProductViewModel(Product product)
        {
            Product = product;

            LoadProduct();
        }
        private ProductViewModel CreateViewModel(Product product)
        {
            var viewModel = new ProductViewModel(product);
            viewModel.DeleteRequest += OnDeleteRequest;
            viewModel.PropertyChanged += (sender, args) =>
                {
                    if (args.PropertyName == IsValidProperty)
                    {
                        SaveCommand.RaiseCanExecuteChanged();
                    }
                };

            return viewModel;
        }