public long CreateJob(int groupKey, List <JobCriteria> criteria, string submittedBy) { _logger.Trace($"Create group request received for groupKey {groupKey} with criteria {criteria}"); var groupEntity = _entityFactory.CreateGroupEntity(); groupEntity.GroupKey = groupKey; groupEntity.Criteria = _ser.SerializeToString(criteria); groupEntity.IsGenerated = false; groupEntity.IsStopped = false; groupEntity.IsFinished = false; groupEntity.SubmittedBy = submittedBy; groupEntity.State = CompletionStatus.Pending.Name; groupEntity.IsManual = criteria.First().IsManual; var entity = _stateManager.CreateGroupEntity(groupEntity); //Robustness.Instance.SafeCall(()=> _watchDogPublisher.PublishMessage(new ProcessGroupAddedMessage{ GroupId = entity.Id})); _eventAggregator.PublishAsync(this, Constants.EventProcessGroupAdded, entity.Id.ToString()); _logger.Trace($"Create group request complete for groupKey {groupKey} with criteria {criteria}"); return(entity.Id); }
private IReadWritableGroupEntity CreateGroupEntity(int key, List <JobCriteria> criteria, bool isManual, string triggeredBy, List <int> processKeys) { var serializer = _serializersFactory.GetSerializer <JobCriteria>(); var crit = serializer.SerializeToString(criteria); IReadWritableGroupEntity entity = _entityFactory.CreateGroupEntity(); //IGroupEntity entity = _entityFactory.CreateGroupEntity(key, crit, isManual, false, triggeredBy, TaskCompletionStatus.Pending.Name); IWritableGroupEntity entityW = entity; entityW.Criteria = crit; entityW.GroupKey = key; entityW.IsManual = isManual; entityW.IsResubmission = false; entityW.SubmittedBy = triggeredBy; entityW.State = CompletionStatus.Pending.Name; if (processKeys != null) { entityW.Payload = serializer.SerializeToString(processKeys); } //IGroupEntity g = entity; var entity2 = _stateManager.CreateGroupEntity(entity); return(entity2); }