Доброе утро! Нужно создать бизнес-процесс, который бы пробегал по всем записям данной сущности и если у записи определенный атрибут установлен в Активен, то получить из этой записи определенные атрибуты, как параметры и выполнить заданный алгоритм. Начал писать правило для бизнес-процесса, для этого воспользовался примером из книги Майка Снайдера:
Код:
using System;
using System.Workflow.ComponentModel;
using System.Workflow.Activities;
using Microsoft.Crm.Workflow;
namespace BP_CRMScaner
{
[CrmWorkflowActivity("Выполнить сканирование", "Сканирование WEB-ресурсов")]
public partial class Activity1 : SequenceActivity
{
protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
{
//получение контекста
IContextService contextService = (IContextService)executionContext.GetService(typeof(IContextService));
IWorkflowContext ctx = contextService.Context;
//Здесь выполняется пользовательская логика
//Доступ к свойствам ввода и вывода осуществляется следующим образом
this.InputExample = "foo";
this.OutputExample = this.InputExample + "bar";
return base.Execute(executionContext);
}
//Задание свойств ввода
public static DependencyProperty InputExampleProperty = DependencyProperty.Register("InputExample", typeof(string), typeof(Activity1));
[CrmInput("InputExample")]
public string InputExample
{
get
{
return (string)base.GetValue(InputExampleProperty);
}
set
{
base.SetValue(InputExampleProperty, value);
}
}
//Задание свойства вывода
public static DependencyProperty OutputExampleProperty = DependencyProperty.Register("OutputExample", typeof(string), typeof(Activity1));
[CrmOutput("OutputExample")]
public string OutputExample
{
get
{
return (string)base.GetValue(OutputExampleProperty);
}
set
{
base.SetValue(OutputExampleProperty, value);
}
}
}
}
Не знаю как сделать так, чтобы процесс пробегался по каждой записи и из нее получал значения определенных атрибутов. Ранее извлекал параметры с помощью SOAP запроса по GUID и передавал их asp странице. Как мне быть в случае с workflow activity?