private CswNbtNode _makeReceiptLot(CswPrimaryKey MaterialId, CswNbtReceivingDefinition ReceiptDef, DateTime ExpirationDate) { Action <CswNbtNode> AfterReceiptLot = delegate(CswNbtNode NewNode) { CswNbtObjClassReceiptLot thisReceiptLot = NewNode; thisReceiptLot.Material.RelatedNodeId = MaterialId; thisReceiptLot.RequestItem.RelatedNodeId = ReceiptDef.RequestItemtNodeId; thisReceiptLot.ExpirationDate.DateTimeValue = ExpirationDate; }; CswNbtObjClassReceiptLot ReceiptLot = _CswNbtResources.Nodes.GetNode(ReceiptDef.ReceiptLotNodeId); if (null != ReceiptDef.ReceiptLotNodeId && null != ReceiptLot) { _CswNbtSdTabsAndProps.saveProps(ReceiptLot.NodeId, Int32.MinValue, ReceiptDef.ReceiptLotProps, ReceiptLot.NodeTypeId, null, IsIdentityTab: false); AfterReceiptLot(ReceiptLot.Node); ReceiptLot.postChanges(false); } else { CswNbtMetaDataObjectClass ReceiptLotClass = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ReceiptLotClass); ReceiptLot = _CswNbtResources.Nodes.makeNodeFromNodeTypeId(ReceiptLotClass.FirstNodeType.NodeTypeId, AfterReceiptLot); } _attachCofA(ReceiptLot.NodeId, ReceiptDef); return(ReceiptLot.Node); }
/// <summary> /// Updates the default Expiration Date on containers to receive based on Receipt Lot's Manufactured Date /// </summary> public ContainerData.ReceivingData updateExpirationDate(ContainerData.ReceiptLotRequest Request) { ContainerData.ReceivingData ReceiveData = new ContainerData.ReceivingData(); JObject ReceiptLotPropsObj = CswConvert.ToJObject(Request.ReceiptLotProps); if (ReceiptLotPropsObj.HasValues) { CswPrimaryKey ReceiptLotId = CswConvert.ToPrimaryKey(Request.ReceiptLotId); if (CswTools.IsPrimaryKey(ReceiptLotId)) { CswNbtObjClassReceiptLot ReceiptLot = _CswNbtResources.Nodes.GetNode(ReceiptLotId); _CswNbtSdTabsAndProps.saveNodeProps(ReceiptLot.Node, ReceiptLotPropsObj); CswPrimaryKey ContainerId = CswConvert.ToPrimaryKey(Request.ContainerId); if (CswTools.IsPrimaryKey(ContainerId) && ReceiptLot.ManufacturedDate.DateTimeValue != DateTime.MinValue) { CswNbtObjClassContainer Container = _CswNbtResources.Nodes.GetNode(ContainerId); CswNbtPropertySetMaterial Material = _CswNbtResources.Nodes.GetNode(Container.Material.RelatedNodeId); Container.ExpirationDate.DateTimeValue = Material.getDefaultExpirationDate(ReceiptLot.ManufacturedDate.DateTimeValue); Container.postChanges(false); JObject ContainerProps = getContainerAddProps(Container); ReceiveData.ContainerProps = ContainerProps.ToString(); } } } return(ReceiveData); }