コード例 #1
0
        public void DispenseProduct(ProductKind product)
        {
            int idx;

            idx = Array.IndexOf(this.hardware.ProductKinds, product);
            //dispenseProduct() from ProductRack
            ProductRack rack = this.hardware.ProductRacks[idx];

            rack.DispenseProduct();
        }
コード例 #2
0
        private void ContextMenuOpened(object sender, RoutedEventArgs e)
        {
            if (this.ClickedTreeViewItem != null)
            {
                ProductRack dataItem = this.ClickedTreeViewItem.DataContext as ProductRack;

                // We will disable the "New Sibling" and "Delete" context menu
                // items if the clicked treeview item is a root item
                bool isRootItem = dataItem.Parent == null;

                (this.ContextMenu.Items[1] as RadMenuItem).IsEnabled = !isRootItem; // New Sibling
                (this.ContextMenu.Items[4] as RadMenuItem).IsEnabled = !isRootItem; // Delete
            }
        }
コード例 #3
0
 public ChildListWindow()
 {
     InitializeComponent();
     DataItem    = new ProductRack();
     DataContext = this;
 }
コード例 #4
0
        private void ContextMenuClick(object sender, RoutedEventArgs e)
        {
            if (this.ClickedTreeViewItem == null)
            {
                return;
            }

            ProductRack item = this.ClickedTreeViewItem.DataContext as ProductRack;

            if (item == null)
            {
                return;
            }

            string header = (e.OriginalSource as RadMenuItem).Header as string;

            switch (header)
            {
            case "New Child":
                ChildListWindow childListWindow = SmObjectFactory.Container.GetInstance <ChildListWindow>();

                var tree = childListWindow.DataContext as ChildListWindowViewModel;

                childListWindow.ShowDialog();
                ProductRack newChild = new ProductRack();
                newChild.ProductRackTitle = childListWindow.titleTextbox.Text;
                using (var uow = new SainaDbContext())
                {
                    // uow.ProductRacks.Include(Parent).Add(Parent(newChild));
                    item.Items.Add(newChild);

                    uow.ProductRacks.Add(item);
                    uow.SaveChanges();
                    item.IsExpanded = true;     // Ensure that the new child is visible
                }

                //  item.Items.Add(newChild)

                break;

            case "New Sibling":
                childListWindow = SmObjectFactory.Container.GetInstance <ChildListWindow>();
                ProductRack newSibling = new ProductRack();
                newSibling.ProductRackTitle = childListWindow.titleTextbox.Text;

                item.Parent.Items.Add(newSibling);
                break;

            case "Delete":
                using (var uow = new SainaDbContext())
                {
                    item.Parent.Items.Remove(item);
                    //    uow.ProductRacks.Remove(item);
                    uow.SaveChanges();
                }

                break;

            case "Edit":
                using (var uow = new SainaDbContext())
                {
                    this.ClickedTreeViewItem.IsInEditMode = true;
                    uow.SaveChanges();
                }
                break;

            case "Select":
                this.ClickedTreeViewItem.IsSelected = true;
                break;
            }
        }
コード例 #5
0
        public ChildListWindowViewModel()
        {
            SaveCommand = new RelayCommand(OnSave, CanSave);

            ProductRack = new ProductRack();
        }