public async Task <ProcessBlockResult> ProcessBlockAsync(string block) { var action = new ProcessBlock(block); var handler = new ActionHandler <ProcessBlock, ProcessBlockResult>(_node); return(await handler.Handle(action)); }
public Flow(string name, Flow parentFlow, ProcessBlock processBlock) : this() { this.Id = SunStone.Util.SequentialGuid.NewGuid(); Name = name; this.Parent = parentFlow; this.Start = DateTime.Now; this.ProcessInstanceId = parentFlow.ProcessInstanceId; this.ParentReactivation = true; createAttributeInstances(processBlock.Attributes); }
private bool IsMateriaEnough(ProcessBlock block) { for (int i = 0; i < block.matBuffer.Count; i++) { var mat = block.quest.materials[i].count; var buffer = block.matBuffer[i]; if (buffer < mat) { return(false); } } return(true); }
public void HolidayTest() { XmlDocument xmlDocument = new XmlDocument(); xmlDocument.Load("Definitions\\Holiday.xml"); using (var unitWork = UnitOfWork.Start()) { ProcessDefinitionCreationContext creationContext = new ProcessDefinitionCreationContext(); ProcessDefinition processDefinition = creationContext.CreateProcessDefinition(xmlDocument); creationContext.ResolveReferences(); Assert.AreEqual(1, processDefinition.ChildBlocks.Count); ProcessBlock concurrentProcessBlock = processDefinition.ChildBlocks.First(); Node fork = null, join = null; ActivityState hrNotify = null, approvalNotify = null; foreach (Node node in concurrentProcessBlock.Nodes) { if (node.Name == "approved holiday fork") { fork = node; } else if (node.Name == "join before finish") { join = node; } else if (node.Name == "HR notification") { hrNotify = node as ActivityState; } else if (node.Name == "approval notification") { approvalNotify = node as ActivityState; } } Assert.IsNotNull(fork); Assert.IsNotNull(join); Assert.IsNotNull(hrNotify); Assert.IsNotNull(approvalNotify); Assert.IsNotNull(fork.LeavingTransitions.First().To); var processBlockRepository = new EFRepository <ProcessBlock>(); processBlockRepository.Add(processDefinition); unitWork.Flush(); } }
public void AddQuest(Quest quest) { if (m_Blocks.Count >= GameConst.COUNT_CLAIM_QUEST) { return; } var block = new ProcessBlock { index = m_Blocks.Count, quest = quest, matBuffer = new List <int>(), isRun = false, startSeq = 0, }; for (int i = 0; i < quest.materials.Count; i++) { block.matBuffer.Add(0); } m_Blocks.Add(block); }
public Model(int _t1, int _t2, double _mean, double _var, bool _isReturnRequests) { Model.Time = 0; _var = Math.Sqrt(_var); AbsTimeGenerator uniformGen = new UniformTimeGenerator(_t1, _t2); AbsTimeGenerator normGen = new NormalTimeGenerator(_mean, _var); m_ignoredRequests = new StatBlock(); m_successRequests = new StatBlock(); m_queue = new StandartQueue(m_ignoredRequests); m_generator = new Generator(uniformGen, m_queue); m_procBlock = new ProcessBlock(normGen, m_queue, m_successRequests); (m_queue as StandartQueue).SetSleepBlock(m_procBlock); if (_isReturnRequests) { m_successRequests.SetNextBlock(m_queue); } m_list = new List<IWorkBlock>(); m_list.Add(m_generator); m_list.Add(m_procBlock); }
// Constructor. internal CryptoAPITransform(int algorithm, byte[] iv, byte[] key, int blockSize, int feedbackBlockSize, CipherMode mode, PaddingMode padding, bool encrypt) { // Initialize the common state. if (iv != null) { this.iv = (byte[])(iv.Clone()); } else { this.iv = null; } this.blockSize = blockSize / 8; this.feedbackBlockSize = feedbackBlockSize / 8; this.padding = padding; this.mode = mode; // Determine which processing methods to use based on the // mode and the encrypt/decrypt flag. switch (mode) { case CipherMode.CBC: { // Cipher Block Chaining Mode. if (encrypt) { state = CryptoMethods.EncryptCreate(algorithm, key); processBlock = new ProcessBlock (CBCEncrypt.TransformBlock); processFinal = new ProcessFinal (CBCEncrypt.TransformFinalBlock); } else { CBCDecrypt.Initialize(this); state = CryptoMethods.DecryptCreate(algorithm, key); processBlock = new ProcessBlock (CBCDecrypt.TransformBlock); processFinal = new ProcessFinal (CBCDecrypt.TransformFinalBlock); } } break; case CipherMode.ECB: { // Electronic Code Book Mode. if (encrypt) { state = CryptoMethods.EncryptCreate(algorithm, key); processBlock = new ProcessBlock (ECBEncrypt.TransformBlock); processFinal = new ProcessFinal (ECBEncrypt.TransformFinalBlock); } else { ECBDecrypt.Initialize(this); state = CryptoMethods.DecryptCreate(algorithm, key); processBlock = new ProcessBlock (ECBDecrypt.TransformBlock); processFinal = new ProcessFinal (ECBDecrypt.TransformFinalBlock); } } break; case CipherMode.OFB: { // Output Feed Back Mode. OFBEncrypt.Initialize(this); state = CryptoMethods.EncryptCreate(algorithm, key); processBlock = new ProcessBlock (OFBEncrypt.TransformBlock); processFinal = new ProcessFinal (OFBEncrypt.TransformFinalBlock); } break; case CipherMode.CFB: { // Cipher Feed Back Mode. if (encrypt) { CFBEncrypt.Initialize(this); state = CryptoMethods.EncryptCreate(algorithm, key); processBlock = new ProcessBlock (CFBEncrypt.TransformBlock); processFinal = new ProcessFinal (CFBEncrypt.TransformFinalBlock); } else { CFBDecrypt.Initialize(this); state = CryptoMethods.EncryptCreate(algorithm, key); processBlock = new ProcessBlock (CFBDecrypt.TransformBlock); processFinal = new ProcessFinal (CFBDecrypt.TransformFinalBlock); } } break; case CipherMode.CTS: { // Cipher Text Stealing Mode. if (encrypt) { CTSEncrypt.Initialize(this); state = CryptoMethods.EncryptCreate(algorithm, key); processBlock = new ProcessBlock (CTSEncrypt.TransformBlock); processFinal = new ProcessFinal (CTSEncrypt.TransformFinalBlock); } else { // We need an encryptor as well to handle // streams with only a single block in them. CTSDecrypt.Initialize(this); state = CryptoMethods.DecryptCreate(algorithm, key); state2 = CryptoMethods.EncryptCreate (algorithm, key); processBlock = new ProcessBlock (CTSDecrypt.TransformBlock); processFinal = new ProcessFinal (CTSDecrypt.TransformFinalBlock); } } break; } }
// Constructor. internal CryptoAPITransform(int algorithm, byte[] iv, byte[] key, int blockSize, int feedbackBlockSize, CipherMode mode, PaddingMode padding, bool encrypt) { // Initialize the common state. if(iv != null) { this.iv = (byte[])(iv.Clone()); } else { this.iv = null; } this.blockSize = blockSize / 8; this.feedbackBlockSize = feedbackBlockSize / 8; this.padding = padding; this.mode = mode; // Determine which processing methods to use based on the // mode and the encrypt/decrypt flag. switch(mode) { case CipherMode.CBC: { // Cipher Block Chaining Mode. if(encrypt) { state = CryptoMethods.EncryptCreate(algorithm, key); processBlock = new ProcessBlock (CBCEncrypt.TransformBlock); processFinal = new ProcessFinal (CBCEncrypt.TransformFinalBlock); } else { CBCDecrypt.Initialize(this); state = CryptoMethods.DecryptCreate(algorithm, key); processBlock = new ProcessBlock (CBCDecrypt.TransformBlock); processFinal = new ProcessFinal (CBCDecrypt.TransformFinalBlock); } } break; case CipherMode.ECB: { // Electronic Code Book Mode. if(encrypt) { state = CryptoMethods.EncryptCreate(algorithm, key); processBlock = new ProcessBlock (ECBEncrypt.TransformBlock); processFinal = new ProcessFinal (ECBEncrypt.TransformFinalBlock); } else { ECBDecrypt.Initialize(this); state = CryptoMethods.DecryptCreate(algorithm, key); processBlock = new ProcessBlock (ECBDecrypt.TransformBlock); processFinal = new ProcessFinal (ECBDecrypt.TransformFinalBlock); } } break; case CipherMode.OFB: { // Output Feed Back Mode. OFBEncrypt.Initialize(this); state = CryptoMethods.EncryptCreate(algorithm, key); processBlock = new ProcessBlock (OFBEncrypt.TransformBlock); processFinal = new ProcessFinal (OFBEncrypt.TransformFinalBlock); } break; case CipherMode.CFB: { // Cipher Feed Back Mode. if(encrypt) { CFBEncrypt.Initialize(this); state = CryptoMethods.EncryptCreate(algorithm, key); processBlock = new ProcessBlock (CFBEncrypt.TransformBlock); processFinal = new ProcessFinal (CFBEncrypt.TransformFinalBlock); } else { CFBDecrypt.Initialize(this); state = CryptoMethods.EncryptCreate(algorithm, key); processBlock = new ProcessBlock (CFBDecrypt.TransformBlock); processFinal = new ProcessFinal (CFBDecrypt.TransformFinalBlock); } } break; case CipherMode.CTS: { // Cipher Text Stealing Mode. if(encrypt) { CTSEncrypt.Initialize(this); state = CryptoMethods.EncryptCreate(algorithm, key); processBlock = new ProcessBlock (CTSEncrypt.TransformBlock); processFinal = new ProcessFinal (CTSEncrypt.TransformFinalBlock); } else { // We need an encryptor as well to handle // streams with only a single block in them. CTSDecrypt.Initialize(this); state = CryptoMethods.DecryptCreate(algorithm, key); state2 = CryptoMethods.EncryptCreate (algorithm, key); processBlock = new ProcessBlock (CTSDecrypt.TransformBlock); processFinal = new ProcessFinal (CTSDecrypt.TransformFinalBlock); } } break; } }