public void TestInitialize()
 {
     model = new Model();
     productManagementPresentationModel = new ProductManagementPresentationModel(model);
     category = new Category("test", 1);
     product  = new Product("3700xtest", category, "10000", "8c16txtest", Constant.RESOURCE_PATH + "CPU/0.jpg", "3");
     flagTest = false;
     model.ProductList.Add(product);
     model.ProductCategory.Add(category);
     productManagementPresentationModel.PropertyChanged += EventTest;
 }
 public MainForm(CreditCardPaymentForm creditCardPaymentFormData, InventoryPresentationModel inventoryPresentationModelData, MainPresentationModel mainPresentationModelData, OrderPresentationModel orderPresentationModelData, ProductManagementPresentationModel productManagementPresentationModelData, Model modelData)
 {
     InitializeComponent();
     _creditCardPaymentForm              = creditCardPaymentFormData;
     _inventoryPresentationModel         = inventoryPresentationModelData;
     _mainPresentationModel              = mainPresentationModelData;
     _orderPresentationModel             = orderPresentationModelData;
     _productManagementPresentationModel = productManagementPresentationModelData;
     _model = modelData;
     _orderSystemButton.Click         += ClickOrderSystemButton;
     _inventorySystemButton.Click     += ClickInventorySystemButton;
     _productManageSystemButton.Click += ClickProductManageSystemButton;
     _exitButton.Click += ClickExitButton;
     RefreshControls();
 }
 public ProductManagementForm(ProductManagementPresentationModel productManagementPresentationModelData, Model modelData)
 {
     InitializeComponent();
     _productManagementPresentationModel = productManagementPresentationModelData;
     _model         = modelData;
     this.Disposed += RemoveEvents;
     // Observers
     _model.ProductInfoChanged += ResetViewOnProductInfoChangedOrOnProductAdded;
     _model.ProductAdded       += ResetViewOnProductInfoChangedOrOnProductAdded;
     _productManagementPresentationModel.CurrentSelectedProductChanged += UpdateProductInfoViewAndSetIsEditedProductInfo;
     _productManagementPresentationModel.SaveButtonEnabledChanged      += UpdateSaveButtonView;
     // UI
     _productsListBox.SelectedIndexChanged += ChangeProductsListBoxSelectedIndex;
     _productPriceField.KeyPress           += InputHelper.InputNumbersOrBackSpace;
     _productImageBrowseButton.Click       += (sender, eventArguments) => BrowseImageAndSetProductImagePath();
     _saveButton.Click       += (sender, eventArguments) => _productManagementPresentationModel.ClickSaveButton(new Product(_productNameField.Text, _productTypeField.Text, _productPriceField.Text, _productDescriptionField.Text, _productImagePathField.Text));
     _addProductButton.Click += (sender, eventArguments) => SetStateAndUpdateViewOnAddProductButtonClicked();
     // Product info
     _productNameField.TextChanged        += (sender, eventArguments) => _productManagementPresentationModel.SetIsEditedProductInfo(true);
     _productPriceField.TextChanged       += (sender, eventArguments) => _productManagementPresentationModel.SetIsEditedProductInfo(true);
     _productTypeField.TextChanged        += (sender, eventArguments) => _productManagementPresentationModel.SetIsEditedProductInfo(true);
     _productImagePathField.TextChanged   += (sender, eventArguments) => _productManagementPresentationModel.SetIsEditedProductInfo(true);
     _productDescriptionField.TextChanged += (sender, eventArguments) => _productManagementPresentationModel.SetIsEditedProductInfo(true);
     // Input inspecting textboxes
     InitializeInputInspectingTextBoxesTextBoxInspectors();
     InitializeInputInspectingTextBoxes();
     InitializeInputInspectingTextBoxesTextBoxInspectorsCollectionChangedEventHandlers();
     // Input inspecting drop-down lists
     InitializeInputInspectingDropDownListsDropDownListInspectors();
     InitializeInputInspectingDropDownLists();
     InitializeInputInspectingDropDownListsDropDownListInspectorsCollectionChangedEventHandlers();
     // Input inspectors collection
     InitializeInputInspectorsCollection();
     // Initial UI States
     InitializeProductTypeField();
     InitializeProductsListBox();
     UpdateSaveButtonView();
 }