private void AddProduct()
        {
            if (SelectedCustomer == null)
            {
                MessageBox.Show(CurrentWindows, "Please select a user before adding products.");
                return;
            }

            Order order;

            if (SelectedOrder.ID == 0)
            {
                order = new Order
                {
                    OrderType  = SelectedOrder.OrderType,
                    Date       = SelectedOrder.Date,
                    UserId     = Int32.Parse(App.Current.Properties["CurrentUserID"].ToString()),
                    CustomerId = SelectedCustomer.ID,
                };
            }
            else
            {
                order = SelectedOrder;
            }

            AddProductsWindow myWindow = new AddProductsWindow(order);

            if (myWindow.ShowDialog() == true)
            {
                WarehouseDbContext ctx = new WarehouseDbContext();
                OrderList = new List <Order>(ctx.Orders.ToList());
            }
        }
        public AddProductsViewModel(AddProductsWindow window, Order order)
        {
            this.CurrentWindows = window;
            this.Order          = order;
            this.Detail         = new OrderDetail();

            if (order.ID == 0)
            {
                this.Details = new ObservableCollection <OrderDetail>();
            }
            else
            {
                this.Details = new ObservableCollection <OrderDetail>(order.Products);
            }

            this.CancelCommand = new RelayCommand(param => this.Cancel(), param => true);
            this.AddCommand    = new RelayCommand(param => this.Add(), param => true);
            this.DoneCommand   = new RelayCommand(param => this.Done(), param => true);
            this.DeleteCommand = new RelayCommand(param => this.Delete(), param => true);

            WarehouseDbContext ctx = new WarehouseDbContext();

            Products = new List <Product>(ctx.Products.ToList());
        }