public NextActivityKey SaveBadMarking( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return TryParseBlankMarking(CommonActivity.LastReadedValue, out _badMarking) ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey Mock( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { _logger.LogInfo(Message.Common_Information, parameters.GetParamValue("Text", "-")); context.Sleep(TimeSpan.FromMilliseconds(500)); return context.DefaultNextActivityKey; }
public NextActivityKey NotCanceledCandidatesMoreThenMinRequired( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { var notCanceledCandidateCount = Election.Candidates.Count(cand => !cand.Disabled); return notCanceledCandidateCount > MinRequiredNotCanceledCandidates ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey ApplyConfig( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return _configManager.ApplyConfig() ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey IsSdElectionModeTraining( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_electionManager.SourceData.ElectionMode == ElectionMode.Training ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey FindFilePathToSaveVotingResultProtocol( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_votingResultManager.FindFilePathToSaveVotingResultProtocol() ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey IsVotingModeResults( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return _electionManager.CurrentVotingMode == VotingMode.Results ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey ResetMarkerEnumerator( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { CurrentMarkerIndex = -1; _papers = _scannerManager.BlanksPaperType; return(context.DefaultNextActivityKey); }
public NextActivityKey CheckSerialNumbersEquals( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_syncManager.LocalScannerSerialNumber == _syncManager.RemoteScannerSerialNumber ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey IsElectionDayNowInFileSd( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(IsIsElectionDayOrExtra(_electionManager.IsElectionDay(_sourceDataFromFile)) ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey HasVotingStarted( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_electionManager.SourceData.GetVotingStartRemainingTime() == TimeSpan.Zero ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey SetDateTime( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { var utcDateTime = _date.AddHours(_time.Hour).AddMinutes(_time.Minute).ToUniversalTime(); _syncManager.SetSystemTime(utcDateTime); return context.DefaultNextActivityKey; }
public NextActivityKey IsProtocolsGeneratedForAllElections( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return _electionManager.SourceData.Elections.Length == _generatedProtocolElectionIds.Count ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey HasSourceDataChanged( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return _electionManager.HasSourceDataChanged ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey SetRoleToSlave( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { _syncManager.ScannerRole = ScannerRole.Slave; if (!_syncManager.IsRemoteScannerConnected) { return(BpcNextActivityKeys.No); } _scannerManager.SetIndicator(CommonActivity.SYNCHRONIZATION_INDICATOR_TEXT); _logger.LogVerbose(Message.WorkflowSlaveWaitForRemoteScannerRoleDefined); context.Sleep(300); while (true) { context.WaitOne(_remoteScannerRoleDefined); switch (_remoteScannerRole) { case ScannerRole.Slave: return(BpcNextActivityKeys.No); case ScannerRole.Master: return(BpcNextActivityKeys.Yes); case ScannerRole.RemoteScannerMasterToo: break; case ScannerRole.Failed: return(BpcNextActivityKeys.No); } _logger.LogVerbose(Message.WorkflowSlaveWaitForRemoteScannerRoleDefined); context.Sleep(1000); } }
public NextActivityKey IsProtocolGeneratedForCurrentElection( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return _generatedProtocolElectionIds.Contains(_currentElection.ElectionId) ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey IsSourceDataCorrect( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_syncManager.IsSourceDataCorrect || _syncManager.RemoteScanner.IsSourceDataCorrect ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey IsSecondScannerAlreadyConnected( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return _syncManager.IsRemoteScannerConnected ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey CheckSerialNumbersEquals( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return _syncManager.LocalScannerSerialNumber == _syncManager.RemoteScannerSerialNumber ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey SaveLeft( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return short.TryParse(CommonActivity.LastReadedValue, out _left) ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey IsMasterScanner( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return _syncManager.ScannerRole == ScannerRole.Master ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey IsElectionDayNowInStateSd( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return IsIsElectionDayOrExtra(_electionManager.IsElectionDay()) ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey WaitForMasterDecision( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { NextActivityKey result; _scannerManager.SetIndicator(CommonActivity.SYNCHRONIZATION_INDICATOR_TEXT); _logger.LogInfo(Message.WorkflowWaitForMasterDecision); var hasConflict = _syncManager.GetDataTransmittedFromRemoteScanner(HASCONFLICT_DATANAME, context); if (hasConflict == null) { _logger.LogInfo(Message.WorkflowCannotDetectConflict); result = BpcNextActivityKeys.No; } else if ((bool)hasConflict) { _logger.LogInfo(Message.WorkflowMasterDetectConflict); result = BpcNextActivityKeys.No; } else { _logger.LogInfo(Message.WorkflowMasterDetectNoConflict); result = BpcNextActivityKeys.Yes; } return(result); }
public NextActivityKey SaveBadMarking( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(TryParseBlankMarking(CommonActivity.LastReadedValue, out _badMarking) ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey SaveVotingResultProtocol( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return _votingResultManager.SaveVotingResultProtocol() ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey IsDssEnabled( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_scannerManager.DoubleSheetSensorEnabled ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey IsMasterScanner( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_syncManager.ScannerRole == ScannerRole.Master ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey IsProtocolGeneratedForCurrentElection( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_generatedProtocolElectionIds.Contains(_currentElection.ElectionId) ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
private static int GetTimeout( ActivityParameterDictionary parameters, string parameterName, int defaultValue) { var paramValue = parameters.GetParamValue <string>(parameterName); if (string.IsNullOrEmpty(paramValue)) { return(defaultValue); } if (paramValue == "Infinite") { return(Timeout.Infinite); } try { var timeout = Convert.ToInt32(TimeSpan.Parse(paramValue).TotalMilliseconds); if (timeout > 0) { return(timeout); } throw new ApplicationException(string.Format("Параметр '{0}' должен быть больше 0", parameterName)); } catch (Exception ex) { throw new Exception( string.Format("Некорректное значение параметра '{0}': {1}", parameterName, paramValue), ex); } }
public NextActivityKey CheckCanRestoreCanceledInSD( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { if (_electionManager.СanRestoreCandidateCanseledInSd) return BpcNextActivityKeys.Yes; return BpcNextActivityKeys.No; }
public NextActivityKey ReportError(WorkflowExecutionContext context, ActivityParameterDictionary parameters) { var errorId = parameters.GetParamValueOrThrow <string>("ErrorId"); var maxRestartCount = parameters.GetParamValue("MaxRestartCount", 5); var secondMaxRestartCount = parameters.GetParamValue("SecondMaxRestartCount", 5); RaiseOutputStarting(InfoType.Warning); var newErrorCount = _workflowManager.IncreaseErrorCounter(errorId); if (newErrorCount <= maxRestartCount) { return(SayPhraseAndExit(context, parameters, "ExitType")); } if (newErrorCount <= secondMaxRestartCount + maxRestartCount) { return(SayPhraseAndExit(context, parameters, "SecondExitType")); } var composer = CreatePhraseComposer(parameters, false); var text = composer.ComposeText(); var sounds = composer.ComposePhrase(new[] { "contact_technical_support" }); var helpComposer = CreateHelpPhraseComposer(parameters); var helpText = helpComposer.ComposeText(); var helpSounds = helpComposer.ComposePhrase(); int occurredEventIndex; return(SayAndWaitEvents( context, text, sounds, helpText, helpSounds, false, false, new WaitHandle[] {}, 0, Timeout.Infinite, null, out occurredEventIndex)); }
public NextActivityKey IsDssEnabled( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return _scannerManager.DoubleSheetSensorEnabled ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey HasSourceDataChanged( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_electionManager.HasSourceDataChanged ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey UpdatePaperType( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { _scannerManager.SetBlankPaperType(CurrentMarker, _types[_paperTypeIndex]); _papers[CurrentMarkerIndex] = _types[_paperTypeIndex]; return(context.DefaultNextActivityKey); }
public NextActivityKey HasCanceledCandidates( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { var election = _electionManager.SourceData.Elections[ElectionIndex]; var canceledCandidatesCount = election.Candidates.Count(cand => cand.Disabled); return canceledCandidatesCount == 0 ? BpcNextActivityKeys.No : BpcNextActivityKeys.Yes; }
public NextActivityKey IsElectionDayNowInStateSdOnSlaveScanner( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(IsIsElectionDayOrExtra(_syncManager.RemoteScanner.IsElectionDay) ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey IsBulletinCountLessThenElectionCount( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(BulletinCount < ElectionCount ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey Mock( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { _logger.LogInfo(Message.Common_Information, parameters.GetParamValue("Text", "-")); context.Sleep(TimeSpan.FromMilliseconds(500)); return(context.DefaultNextActivityKey); }
public NextActivityKey StampCommitteesExists( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_currentElection.StampCommittees.Length > 0 ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey IsElectionDayNowInStateSdOnSlaveScanner( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return IsIsElectionDayOrExtra(_syncManager.RemoteScanner.IsElectionDay) ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey DisabledCandidatesExists( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(DisabledCandidateNumbers.Length > 0 ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey IsNoMoreThanMinTimeToVotingStart( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(IsNoMoreThanMinTimeToVotingStart() ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey NoneAboveExists( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_currentElection.NoneAboveExists ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey IsVotingModeResults( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_electionManager.CurrentVotingMode == VotingMode.Results ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey IsStampControlEnabled( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return _recognitionManager.StampControlEnabled ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public NextActivityKey SaveLeft( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(short.TryParse(CommonActivity.LastReadedValue, out _left) ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey GetNextDiagnosticsError( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { if (!_diagnosticsErrorsEnumerator.MoveNext()) return BpcNextActivityKeys.No; return new NextActivityKey(_diagnosticsErrorsEnumerator.Current.ToString()); }
public NextActivityKey IsSecondScannerAlreadyConnected( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_syncManager.IsRemoteScannerConnected ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey NeedToResetSoft( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_needResetSoftOnMaster || _needResetSoftOnSlave ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey IsProtocolsGeneratedForAllElections( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(_electionManager.SourceData.Elections.Length == _generatedProtocolElectionIds.Count ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey IsStateSdEqualsFileSd( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return(IsStateSdEqualsFileSd() ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No); }
public NextActivityKey CheckControlRelations( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { if (!_electionManager.NeedExecuteCheckExpressions) return BpcNextActivityKeys.Yes; return Election.IsControlRelationsSatisfied() ? BpcNextActivityKeys.Yes : BpcNextActivityKeys.No; }
public Activity() { Parameters = new ActivityParameterDictionary(); NextActivities = new Dictionary<NextActivityKey, Activity>(); Tracking = true; Priority = ActivityPriority.Default; _initialized = false; }
public NextActivityKey NeedSayBadBulletinsCount( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { if (_votingResultManager.AddBadBlankToCounterValue && BadBulletinCount > 0) return BpcNextActivityKeys.Yes; return BpcNextActivityKeys.No; }
public NextActivityKey MovePreviousCandidate( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { if (_currentCandidateIndex > 0) _currentCandidateIndex -= 2; else _currentCandidateIndex -= 1; return context.DefaultNextActivityKey; }
public NextActivityKey MoveNextPaperType( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { if (++_paperTypeIndex >= _types.Count) { _paperTypeIndex = 0; } return context.DefaultNextActivityKey; }
public NextActivityKey GenerateVotingResultProtocolOnSlave( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { var election = _electionManager.SourceData.GetElectionByNum(_addInfoEnteredOnMasterElectionId); if (election == null) _logger.LogWarning(Message.WorkflowElectionWithIdFromMasterNotFound, _addInfoEnteredOnMasterElectionId); _votingResultManager.GenerateVotingResultProtocol(election); return context.DefaultNextActivityKey; }
public NextActivityKey CanGoToMainVotingMode( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { return _electionManager.IsElectionDay() == ElectionDayСomming.ItsElectionDay && _electionManager.SourceData.ElectionMode == ElectionMode.Real && _electionManager.SourceData.GetTimeToModeStart(VotingMode.Main) > TimeSpan.Zero ? BpcNextActivityKeys.No : BpcNextActivityKeys.Yes; }
public NextActivityKey PerformDiagnostics( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { _criticalErrorFound = false; _diagnosticsErrors = _scannerManager.PerformDiagnostics(); return _diagnosticsErrors.Count == 0 ? BpcNextActivityKeys.Yes // т.е. все ОК : BpcNextActivityKeys.No; }
public NextActivityKey ApplyNewConfig( WorkflowExecutionContext context, ActivityParameterDictionary parameters) { short right; if (!short.TryParse(CommonActivity.LastReadedValue, out right)) return BpcNextActivityKeys.No; _scannerManager.SetDoubleSheetSensorLevel(_left, right); return BpcNextActivityKeys.Yes; }