} // restore() /// <summary> /// Makes a new batch operation instance in the database /// </summary> public static CswNbtObjClassBatchOp makeNew(CswNbtResources CswNbtResources, CswEnumNbtBatchOpName BatchOpName, string BatchData, CswPrimaryKey UserId = null, Double Priority = Double.NaN) { CswNbtObjClassBatchOp BatchNode = null; CswNbtMetaDataObjectClass BatchOpOC = CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.BatchOpClass); if (BatchOpOC != null) { CswNbtMetaDataNodeType BatchOpNT = BatchOpOC.getNodeTypes().First(); if (BatchOpNT != null) { CswNbtNode Node = CswNbtResources.Nodes.makeNodeFromNodeTypeId(BatchOpNT.NodeTypeId); BatchNode = Node; BatchNode.BatchData.Text = BatchData; BatchNode.CreatedDate.DateTimeValue = DateTime.Now; BatchNode.OpName.Text = BatchOpName.ToString(); if (false == Double.IsNaN(Priority)) { BatchNode.Priority.Value = Priority; } BatchNode.Status.Value = CswEnumNbtBatchOpStatus.Pending.ToString(); BatchNode.User.RelatedNodeId = UserId ?? CswNbtResources.CurrentNbtUser.UserId; BatchNode.postChanges(true); } } return(BatchNode); } // makeNew()
} // makeNew() public static void runNextBatchOp(CswNbtResources CswNbtResources) { ICswNbtTree BatchOpTree = _getPendingBatchOpsTree(CswNbtResources); if (BatchOpTree.getChildNodeCount() > 0) { BatchOpTree.goToNthChild(0); CswNbtNode Node = BatchOpTree.getNodeForCurrentPosition(); CswNbtObjClassBatchOp BatchNode = Node; CswEnumNbtBatchOpName OpName = BatchNode.OpNameValue; ICswNbtBatchOp op = null; if (OpName == CswEnumNbtBatchOpName.BulkEdit) { op = new CswNbtBatchOpBulkEdit(CswNbtResources); } if (OpName == CswEnumNbtBatchOpName.FutureNodes) { op = new CswNbtBatchOpFutureNodes(CswNbtResources); } else if (OpName == CswEnumNbtBatchOpName.MultiEdit) { op = new CswNbtBatchOpMultiEdit(CswNbtResources); } else if (OpName == CswEnumNbtBatchOpName.MultiButtonClick) { op = new CswNbtBatchOpMultiButtonClick(CswNbtResources); } else if (OpName == CswEnumNbtBatchOpName.InventoryLevel) { op = new CswNbtBatchOpInventoryLevels(CswNbtResources); } else if (OpName == CswEnumNbtBatchOpName.MultiDelete) { op = new CswNbtBatchOpMultiDelete(CswNbtResources); } else if (OpName == CswEnumNbtBatchOpName.SyncLocation) { op = new CswNbtBatchOpSyncLocation(CswNbtResources); } else if (OpName == CswEnumNbtBatchOpName.MobileMultiOpUpdates) { op = new CswNbtBatchOpMobileMultiOpUpdates(CswNbtResources); } else if (OpName == CswEnumNbtBatchOpName.Receiving) { op = new CswNbtBatchOpReceiving(CswNbtResources); } // New batch ops go here // else if( OpName == NbtBatchOpName.NEWNAME ) if (null != op) { CswNbtNode UserNode = CswNbtResources.Nodes[BatchNode.User.RelatedNodeId]; if (null != UserNode) { CswNbtObjClassUser UserOC = UserNode; if (null != UserOC) { CswNbtResources.AuditContext = "Batch Op: " + BatchNode.OpNameValue; CswNbtResources.AuditFirstName = UserOC.FirstName; CswNbtResources.AuditLastName = UserOC.LastName; CswNbtResources.AuditUsername = UserOC.Username; } } op.runBatchOp(BatchNode); } } }