public BuilderViewModel(Action onClose, IWindowFactory windowFactory, IBillOfMaterial sourceBillOfMaterial, IBillOfMaterial targetBillOfMaterial, UnitOfWork unitOfWork) : base(onClose)
        {
            // Get window.
            _windowFactory = windowFactory;
            _unitOfWork    = unitOfWork;

            SourceBillOfMaterial = sourceBillOfMaterial;
            TargetBillOfMaterial = targetBillOfMaterial;

            SyncSourceQuantities(TargetBillOfMaterial.ItemViewModels);

            SourceHierarchyDataGrid = new HierarchyDataGrid(SourceBillOfMaterial.ItemViewModels);
            TargetHierarchyDataGrid = new HierarchyDataGrid(TargetBillOfMaterial.ItemViewModels);

            AddItemToTargetByButtonCommand      = new RelayCommand(o => AddByButton(), o => CanAddByButton());
            RemoveItemFromTargetByButtonCommand = new RelayCommand(o => RemoveByButton(), o => CanRemoveByButton());

            AddSelectedItemInSource = new RelayCommand(o => AddRemoveSelectedItemIfValid(_selectedItemInSource), o => _selectedItemInSource != null);
            AddSelectedItemInTarget = new RelayCommand(o => AddRemoveSelectedItemIfValid(_selectedItemInTarget), o => _selectedItemInTarget != null);

            ShowCancelDialogCommand         = new RelayCommand(CancelDialog, o => true);
            HideSourceViewCommand           = new RelayCommand(o => IsSourceViewHidden = true, o => IsSourceViewHidden == false);
            ShowSourceViewCommand           = new RelayCommand(o => IsSourceViewHidden = false, o => IsSourceViewHidden == true);
            SaveTargetBillOfMaterialCommand = new RelayCommand(SaveTargetOnSaveCommand, o => true);

            CalculateInfo();
        }
 public TemplateBuilderViewModel(Action onClose, IWindowFactory windowFactory, IBillOfMaterial sourceBillOfMaterial,
                                 IBillOfMaterial targetBillOfMaterial, UnitOfWork unitOfWork) :
     base(onClose, windowFactory, sourceBillOfMaterial, targetBillOfMaterial, unitOfWork)
 {
     AddItemToTargetByButtonCommand      = new RelayCommand(o => AddByButton(), o => CalculateCanAddItem());
     RemoveItemFromTargetByButtonCommand = new RelayCommand(o => RemoveByButton(), o => CalculateCanRemoveItem());
 }
예제 #3
0
        public PanelBuilderViewModel(Action onClose, IWindowFactory windowFactory, IBillOfMaterial sourceBillOfMaterial,
                                     IBillOfMaterial targetBillOfMaterial, UnitOfWork unitOfWork, ObservableCollection <TemplateViewModel> templates) :
            base(onClose, windowFactory, sourceBillOfMaterial, targetBillOfMaterial, unitOfWork)
        {
            TemplateViewModels = templates;

            foreach (TemplateViewModel templateViewModel in TemplateViewModels)
            {
                SyncSourceQuantities(templateViewModel.ItemViewModels);
            }
        }
 public ContainerBuilderViewModel(Action onClose, IWindowFactory windowFactory, IBillOfMaterial sourceBillOfMaterial, IBillOfMaterial targetBillOfMaterial, UnitOfWork unitOfWork) : base(onClose, windowFactory, sourceBillOfMaterial, targetBillOfMaterial, unitOfWork)
 {
     SyncSourceQuantities(SourceBillOfMaterial.ItemViewModels);
 }