private void AddToInventoryClick(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(txtName.Text)) { // TODO: Add notification error saying product name cannot be empty return; } try { using (var dc = new ProductsDataContext(ProductsDataContext.ConnectionString)) { var existingProduct = (from p in dc.Products where p.Barcode == _scannedBarcode || p.ProductName == txtName.Text select p).FirstOrDefault(); Product product; if (existingProduct == null) { product = new Product { ProductName = txtName.Text, Barcode = _scannedBarcode, ImageUrl = _currentProduct.ImageUrl, }; dc.Products.InsertOnSubmit(product); dc.SubmitChanges(); } else { product = existingProduct; } var purchase = new Purchase { ProductId = product.Id, Currency = txtCurrency.Text, DatePurchased = DateTime.Parse(txtDate.Text), Quantity = int.Parse(txtQuantity.Text), Price = decimal.Parse(txtPrice.Text) }; dc.Purchases.InsertOnSubmit(purchase); dc.SubmitChanges(); } // Navigate to main page. NavigationService.Navigate(new Uri("/Home", UriKind.RelativeOrAbsolute)); } catch (Exception ex) { txtName.Text = ex.Message; } }
public ProductViewModel(Product product) { ImageUrl = product.ImageUrl; ProductName = product.ProductName; }