public override void LoadData() { _allowToSave = false; comboBoxEditSlideHeader.EditValue = SlideContainer.EditedContent.ContractState.TabA.SlideHeader ?? CustomTabInfo.HeadersItems.FirstOrDefault(h => h.IsDefault); comboBoxEditCombo1.EditValue = SlideContainer.EditedContent.ContractState.TabA.Combo1 ?? CustomTabInfo.Combo1Items.FirstOrDefault(item => item.IsDefault); comboBoxEditCombo2.EditValue = SlideContainer.EditedContent.ContractState.TabA.Combo2 ?? CustomTabInfo.Combo2Items.FirstOrDefault(item => item.IsDefault); xtraTabControl.SuspendLayout(); var selectedItemId = (xtraTabControl.SelectedTabPage as ProductItemControl)?.ItemState?.ItemId; foreach (var itemControl in xtraTabControl.TabPages .OfType <ProductItemControl>() .Where(productControl => SlideContainer.EditedContent.ContractState.TabA.Products.All(product => product.ItemId != productControl.ItemState.ItemId)) .ToList()) { xtraTabControl.TabPages.Remove(itemControl); } foreach (var itemState in SlideContainer.EditedContent.ContractState.TabA.Products) { var itemControl = xtraTabControl.TabPages .OfType <ProductItemControl>() .FirstOrDefault(productControl => itemState.ItemId == productControl.ItemState.ItemId); if (itemControl == null) { var itemInfo = CustomTabInfo.Products.FirstOrDefault(item => String.Equals(item.ProductId, itemState.ProductId, StringComparison.OrdinalIgnoreCase)); if (itemInfo != null) { itemControl = new ProductItemControl(itemInfo, itemState, this); xtraTabControl.TabPages.Add(itemControl); } } } if (selectedItemId != null) { xtraTabControl.SelectedTabPage = xtraTabControl.TabPages .OfType <ProductItemControl>() .FirstOrDefault(productTabControl => productTabControl.ItemState.ItemId == selectedItemId) ?? xtraTabControl.SelectedTabPage; } xtraTabControl.ResumeLayout(); var itemControls = xtraTabControl.TabPages.OfType <ProductItemControl>().ToList(); itemControls.FirstOrDefault()?.InitControl(); UpdateSlideCount(itemControls.Count); _allowToSave = true; }
private void OnMenuItemCloneClick(object sender, EventArgs e) { if (!(_menuHitInfo.Page is ProductItemControl productControl)) { return; } var itemControl = new ProductItemControl(productControl.ItemInfo, productControl.ItemState.Clone(), this); xtraTabControl.TabPages.Insert(xtraTabControl.TabPages.IndexOf(_menuHitInfo.Page), itemControl); itemControl.InitControl(); Contents.UpdateSlideCount(xtraTabControl.TabPages.OfType <ProductItemControl>().Count()); SlideContainer.RaiseSlideTypeChanged(); RaiseEditValueChanged(); }
private void OnProductItemClicked(Object sender, ProductClickedEventArgs e) { if (!_allowToSave) { return; } var itemInfo = e.ItemInfo; var itemControl = new ProductItemControl(itemInfo, new IntegratedSolutionState.ProductItemState(itemInfo.ProductId), this); xtraTabControl.TabPages.Add(itemControl); itemControl.InitControl(); Contents.UpdateSlideCount(xtraTabControl.TabPages.OfType <ProductItemControl>().Count()); SlideContainer.RaiseSlideTypeChanged(); RaiseEditValueChanged(); }