/// <summary> /// Abstract override to be called on onButtonClick /// </summary> public override bool onPropertySetButtonClick(NbtButtonData ButtonData) { if (null != ButtonData.NodeTypeProp) { //Remember: Save is an OCP too switch (ButtonData.NodeTypeProp.getObjectClassPropName()) { case PropertyName.Fulfill: CswNbtObjClassContainer NodeAsContainer = null; switch (ButtonData.SelectedText) { case FulfillMenu.Dispense: NodeAsContainer = _CswNbtResources.Nodes.GetNode(Container.RelatedNodeId); if (null != NodeAsContainer && null != NodeAsContainer.Dispense.NodeTypeProp) { NbtButtonData DispenseData = new NbtButtonData(NodeAsContainer.Dispense.NodeTypeProp); NodeAsContainer.triggerOnButtonClick(DispenseData); ButtonData.clone(DispenseData); } else { ButtonData.Data["containernodetypeid"] = Container.TargetId; ButtonData.Data["containerobjectclassid"] = Container.TargetId; JObject InitialQuantity = null; if (null != Size.RelatedNodeId && Int32.MinValue != Size.RelatedNodeId.PrimaryKey) { CswNbtObjClassSize NodeAsSize = _CswNbtResources.Nodes[Size.RelatedNodeId]; if (null != NodeAsSize) { InitialQuantity = new JObject(); NodeAsSize.InitialQuantity.ToJSON(InitialQuantity); ButtonData.Data["initialQuantity"] = InitialQuantity; } } else if (false == Quantity.Empty) { InitialQuantity = new JObject(); Quantity.ToJSON(InitialQuantity); } if (null != InitialQuantity) { ButtonData.Data["initialQuantity"] = InitialQuantity; } ButtonData.Action = CswEnumNbtButtonAction.dispense; } break; } //switch( ButtonData.SelectedText ) _getNextStatus(ButtonData.SelectedText); ButtonData.Data["requestitem"] = ButtonData.Data["requestitem"] ?? new JObject(); ButtonData.Data["requestitem"]["requestitemid"] = NodeId.ToString(); ButtonData.Data["requestitem"]["materialid"] = (Material.RelatedNodeId ?? new CswPrimaryKey()).ToString(); ButtonData.Data["requestitem"]["containerid"] = (Container.RelatedNodeId ?? new CswPrimaryKey()).ToString(); ButtonData.Data["requestitem"]["locationid"] = (Location.SelectedNodeId ?? new CswPrimaryKey()).ToString(); break; //case PropertyName.Fulfill: } } return(true); }
}//afterPopulateProps() /// <summary> /// /// </summary> public override bool onPropertySetButtonClick(NbtButtonData ButtonData) { if (null != ButtonData.NodeTypeProp) { //Remember: Save is an OCP too switch (ButtonData.NodeTypeProp.getObjectClassPropName()) { case PropertyName.Fulfill: switch (ButtonData.SelectedText) { case FulfillMenu.Order: ButtonData.Action = CswEnumNbtButtonAction.editprop; ButtonData.Data["nodeid"] = NodeId.ToString(); CswPropIdAttr OrdIdAttr = new CswPropIdAttr(Node, ExternalOrderNumber.NodeTypeProp); ButtonData.Data["propidattr"] = OrdIdAttr.ToString(); ButtonData.Data["title"] = "Enter the External Order Number"; break; case FulfillMenu.Receive: CswNbtPropertySetMaterial NodeAsMaterial = _CswNbtResources.Nodes.GetNode(Material.RelatedNodeId); if (null != NodeAsMaterial) { if (null != NodeAsMaterial.Receive.NodeTypeProp) { NbtButtonData ReceiveData = new NbtButtonData(NodeAsMaterial.Receive.NodeTypeProp); NodeAsMaterial.triggerOnButtonClick(ReceiveData); ButtonData.clone(ReceiveData); if (_CswNbtResources.Modules.IsModuleEnabled(CswEnumNbtModuleName.SDS)) { CswNbtMetaDataObjectClass SDSDocOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.SDSDocumentClass); Int32 SDSNodeTypeId = SDSDocOC.FirstNodeType.NodeTypeId; if (Int32.MinValue != SDSNodeTypeId) { ButtonData.Data["documenttypeid"] = SDSNodeTypeId; } } } } break; case FulfillMenu.Dispense: JObject InitialQuantity = null; if (false == Quantity.Empty) { InitialQuantity = new JObject(); Quantity.ToJSON(InitialQuantity); } if (null != InitialQuantity) { ButtonData.Data["initialQuantity"] = InitialQuantity; } string Title = "Fulfill Request for " + Quantity.Gestalt + " of " + Material.Gestalt; if (TotalDispensed.Quantity > 0) { Title += " (" + TotalDispensed.Gestalt + ") dispensed."; } ButtonData.Data["title"] = Title; ButtonData.Action = CswEnumNbtButtonAction.dispense; break; case FulfillMenu.Move: ButtonData.Data["title"] = "Fulfill Request for " + Count.Value + " x " + Size.Gestalt + " of " + Material.Gestalt; ButtonData.Data["sizeid"] = Size.RelatedNodeId.ToString(); ButtonData.Data["location"] = Location.Gestalt; ButtonData.Action = CswEnumNbtButtonAction.move; break; } //switch( ButtonData.SelectedText ) _getNextStatus(ButtonData.SelectedText); ButtonData.Data["requestitem"] = ButtonData.Data["requestitem"] ?? new JObject(); ButtonData.Data["requestitem"]["requestMode"] = Type.Value.ToLower(); ButtonData.Data["requestitem"]["requestitemid"] = NodeId.ToString(); ButtonData.Data["requestitem"]["inventorygroupid"] = (InventoryGroup.RelatedNodeId ?? new CswPrimaryKey()).ToString(); ButtonData.Data["requestitem"]["materialid"] = (Material.RelatedNodeId ?? new CswPrimaryKey()).ToString(); ButtonData.Data["requestitem"]["locationid"] = (Location.SelectedNodeId ?? new CswPrimaryKey()).ToString(); break; //case PropertyName.Fulfill: } } return(true); }