/// <summary> /// When the selected product changes, in load the prices(related to the selected product) the "SelectedProductPricesListBox" listbox /// Displays(by default) the price that has true for "CurrentlyActivePrice" property /// </summary> private void ProductsListBox_SelectedIndexChanged(object sender, EventArgs e) { SelectedProductPriceList = InitializeSelectedProductPriceList((ProductModel)ProductsListBox.SelectedItem); SalesPriceModel selectedPrice = new SalesPriceModel(); if (SelectedProductPriceList != null) { selectedPrice = SelectedProductPriceList.Where(p => p.CurrentlyActivePrice == true).FirstOrDefault(); } PriceTextBox.Text = selectedPrice == null ? "" : selectedPrice.SalesPrice.ToString(); lastSelectedProduct = (ProductModel)ProductsListBox.SelectedItem; IsCurrentlyActivePriceCheckBox.Checked = selectedPrice == null ? false : selectedPrice.CurrentlyActivePrice; }
/// <summary> /// Imitializes the Price List related to the selected product /// </summary> private List <SalesPriceModel> InitializeSelectedProductPriceList(ProductModel selectedProduct) { InitializePriceList(); if (selectedProduct != null) { SelectedProductPriceList = RMS_Logic.SalesPriceLogic.GetSelectedProductPrices(selectedProduct, PriceList_All); } SelectedProductPricesListBox.DataSource = null; SelectedProductPricesListBox.DisplayMember = "SalesPrice"; SelectedProductPricesListBox.DataSource = SelectedProductPriceList; if (SelectedProductPriceList != null) { SelectedProductPricesListBox.SelectedItem = SelectedProductPriceList.Where(c => c.CurrentlyActivePrice == true) .FirstOrDefault() ?? null; } return(SelectedProductPriceList); }