public void SetConfigurationProperties(int criteriaId, IDictionary <string, object> properties)
        {
            var config = GetCriteria(criteriaId);
            var instantiationCriteria = TheWorkflowInstantiationCriteriaRepository.RestoreState(config);

            instantiationCriteria = (IWorkflowInstantiationCriteria)Helper.Instance.SetProperties(instantiationCriteria, properties);
            TheWorkflowInstantiationCriteriaRepository.Update(instantiationCriteria);
        }
        public IEnumerable <IWorkflowInstantiationCriteria> GetCriteriaForEvents(string eventName)
        {
            var criterias = new List <IWorkflowInstantiationCriteria>();

            foreach (var criteria in List())
            {
                var hydrated = TheWorkflowInstantiationCriteriaRepository.RestoreState(criteria);
                if (hydrated.Events.Contains(eventName))
                {
                    criterias.Add(hydrated);
                }
            }
            return(criterias);
        }
        public IWorkflowInstantiationCriteria GetCriteria(int id)
        {
            var criteria = TheWorkflowInstantiationCriteriaRepository.GetById(id);

            return(TheWorkflowInstantiationCriteriaRepository.RestoreState(criteria));
        }