none
Рабочий процесс SCSM на C# RRS feed

  • Общие обсуждения

  • Добрый день, Коллеги!

    нашел я в блоге scmz.net пример создания рабочего процесса на C#. 

    На основе этого примера решил попробовать сделать рабочий процесс для обновления ActualStartDate у инцидента по определенному событию.

    dll-построилась, xml успешно ипортировался в SCSM. 

    Условие выполнилось и рабочий процесс завершился исключением с текстом: Тип "<Сборка>.<Тип>" не определяет статическое свойство зависимости с именем "Incident_IDProperty" и т.д.

    Подозреваю, что ошибка в объявлении свойства или в xml или в тексте программы. 

    Может что посоветуете?

    это часть кода:

     [DisplayName("Update ActualStartDate to Incident")]
        [ToolboxItem(typeof(ActivityToolboxItem))]
        [Designer(typeof(WorkflowActivityBaseDesigner))]
        public partial class UpdateIncidentActualStartDate : WorkflowActivityBase
        {
    
            [Browsable(true)]
            [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
            //Guid to be passed to our workflow via the SCSM workflow engine
            public static DependencyProperty IncidentIdProperty =
                DependencyProperty.Register("Incident_ID", typeof(Guid), typeof(UpdateIncidentActualStartDate));
    
    
            public Guid IncidentId
            {
                get
                {
                    return (Guid)GetValue(IncidentIdProperty);
                }
                set
                {
                    SetValue(IncidentIdProperty, value);
                }
            }

    это часть xml с объявлением параметра:

     <WriteAction ID="WA" TypeID="Subscriptions!Microsoft.EnterpriseManagement.SystemCenter.Subscription.WindowsWorkflowTaskWriteAction">
                <Subscription>
                  <WindowsWorkflowConfiguration>
                    <AssemblyName>UpdateIncidentActualStartDate</AssemblyName>
                    <WorkflowTypeName>UpdateIncidentActualStartDate.UpdateIncidentActualStartDate</WorkflowTypeName>
                    <WorkflowParameters>
                      <WorkflowParameter Name="Incident_ID" Type="guid">$Data/BaseManagedEntityId$</WorkflowParameter>
                    </WorkflowParameters>
                    <RetryExceptions/>
                    <RetryDelaySeconds>60</RetryDelaySeconds>
                    <MaximumRunningTimeSeconds>300</MaximumRunningTimeSeconds>
                  </WindowsWorkflowConfiguration>
                </Subscription>
              </WriteAction>
    Если надо дам ссылки на полные файлы.


    23 июля 2015 г. 16:39

Все ответы

  • Сам разобрался, если кому интересно.

    Если в xml параметр называется Incident_ID, то имя статического свойства в классе должно быть incident_IDProperty:

    public static DependencyProperty Incident_IDProperty =
                DependencyProperty.Register("Incident_ID", typeof(Guid), typeof(UpdateIncidentActualStartDate));

    23 июля 2015 г. 17:33
  • В Visual Studio набрать

    propdp

    и нажать Tab. Наслаждаться :)


    SCSMSolutions
    email: freemanru (at) gmail (dot) com

    28 июля 2015 г. 0:30
    Модератор