コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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);
        }