public void Execute(Document document) { CommercialDocument commercialDocument = (CommercialDocument)document; if (commercialDocument != null) { bool hasSystemCurrency = commercialDocument.HasSystemCurrency; using (ItemCoordinator coordinator = new ItemCoordinator(false, false)) { List <Item> items = new List <Item>(); foreach (CommercialDocumentLine line in commercialDocument.Lines) { Item item = (Item)coordinator.LoadBusinessObject(BusinessObjectType.Item, line.ItemId); decimal lineInitialNetPrice = commercialDocument.GetValueInSystemCurrency(line.InitialNetPrice); if (item.DefaultPrice != lineInitialNetPrice) { item.DefaultPrice = lineInitialNetPrice; items.Add(item); } } if (items.Count > 0) { coordinator.SaveLargeQuantityOfBusinessObjects <Item>(false, items.ToArray()); } } } }
private void Expand() { if (ItemCoordinator == null) { return; } bool cancel; ItemCoordinator.OnMenuItemExpanding(this, out cancel); if (cancel || !HasItems || IsExpanded) { return; } if (MenuPositioningStrategy != null) { MenuPositioningStrategy.BeforeOpenPopup(this, Popup); } Popup.IsOpen = true; UpdateLayout(); if (MenuPositioningStrategy != null) { MenuPositioningStrategy.AfterOpenPopup(this, Popup); } }
public static void Initialize(CoordinatorPluginPhase pluginPhase, ItemCoordinator coordinator) { if (pluginPhase != CoordinatorPluginPhase.SaveObject) { return; } coordinator.Plugins.Add(new ItemCodeExistenceCheckPlugin()); }
protected virtual void OnIsHighlightedChanged(bool newValue) { ChangeVisualState(); if (ItemCoordinator != null) { ItemCoordinator.OnMenuItemHighlightingChanged(this); } }
public static void Initialize(CoordinatorPluginPhase pluginPhase, ItemCoordinator coordinator, Item businessObject) { if (pluginPhase != CoordinatorPluginPhase.SaveObject) { return; } if (businessObject != null && !businessObject.IsNew) { coordinator.Plugins.Add(new ItemEquivalentGroupRemovalPlugin(businessObject)); } }
protected override void OnClose() { if (!IsOpen) { return; } Popup.IsOpen = false; ItemCoordinator.OnMenuVisibilityChanged(); Popup.Content = null; if (_closed != null) { _closed(this, EventArgs.Empty); } }
private void Collapse() { if (ItemCoordinator == null) { return; } ItemCoordinator.OnMenuItemCollapsing(this); foreach (var item in Items.OfType <IMenuItem>()) { item.IsExpanded = false; } if (!IsExpanded) { return; } Popup.IsOpen = false; }
public override void OnAfterExecuteOperations(IBusinessObject businessObject) { if (this.groupId == null) { return; } ItemMapper mapper = DependencyContainerManager.Container.Get <ItemMapper>(); XElement xml = mapper.GetItemEquivalents(this.businessObject.Id.Value, this.groupId.Value); if (xml.Elements().Count() == 1) { Item item = (Item)mapper.LoadBusinessObject(BusinessObjectType.Item, new Guid(xml.Element("item").Attribute("id").Value)); item.Relations.Remove(item.Relations.Children.Where(r => r.ItemRelationTypeName == ItemRelationTypeName.Item_EquivalentGroup).First()); using (ItemCoordinator c = new ItemCoordinator(false, false)) { c.SaveBusinessObject(item); } } }
private void Open() { if (!HasItems || IsOpen) { return; } this.IsTabStop = true; Popup.Content = this; UpdateLayout(); var strategy = MenuPositioningStrategy; if (strategy != null) { strategy.BeforeOpenPopup(this, Popup); } Popup.IsOpen = true; this.Focus(); ItemCoordinator.OnMenuVisibilityChanged(); UpdateLayout(); if (strategy != null) { strategy.AfterOpenPopup(this, Popup); } if (_opened != null) { _opened(this, EventArgs.Empty); } }