рд╡рд┐рдВрдбреЛрдЬ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдлрд╛рдЙрдВрдбреЗрд╢рди - рдХреНрдпреЛрдВ рдФрд░ рдХрдм рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИ


рдмреБрдирд┐рдпрд╛рджреА рд╕рдордЭ

рдореБрдЭреЗ рдпрд╛рдж рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рдореЗрдВ, рдХрд┐рд╕реА рднреА рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдЗрд╕реЗ рдПрдХ рдмреНрд▓реЙрдХ рдЖрд░реЗрдЦ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рд╣рдо рд╕реАрдзреЗ рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЧрдПред рд╡рд░реНрдХрдлрд╝реНрд▓реЛ , рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рддрд┐рдорд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдФрд░ рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рджреГрд╖реНрдЯрд┐рдХреЛрдгреЛрдВ рдХреЗ рд╕рд╛рде, рдмрд╕ рд╣рдореЗрдВ рдкреВрд░реНрд╡рд╡рд░реНрддреА рдлрд╝рдВрдХреНрд╢рди рдмреНрд▓реЙрдХреЛрдВ ( рдЧрддрд┐рд╡рд┐рдзрд┐ ) рдХреЗ рдПрдХ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреА рдХреЛрдбрд┐рдВрдЧ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

WF рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

- рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдмреНрд▓реЙрдХреЛрдВ рдХрд╛ рдПрдХ рд╕рдореГрджреНрдз рд╕реЗрдЯ;
- рдорд╛рдирдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдмреНрд▓реЙрдХ рдХрд╕реНрдЯрдо рдХреЗ рд╕реЗрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░;
- рдЙрдирдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рдмрдЪрдд рдФрд░ рдирд╡реАрдХрд░рдг рдХреЗ рдЙрджрд╛рд╣рд░рдг;
- рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдореЗрдВ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдбрд┐рдЬрд╛рдЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ;
- рдбрдмреНрд▓реНрдпреВрд╕реАрдПрдл рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг;
- рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдбрд┐рдЬрд╛рдЗрдирд░ рдореЗрдВ рд╕реАрдзреЗ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдирд┐рджрд╛рди;
- рдФрд░ рднреА рдмрд╣реБрдд рдХреБрдЫред

рдЖрд╡реЗрджрди рдорд╛рдирджрдВрдб

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рддрдХрдиреАрдХ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рдЕрдкрдирд╛ рдХреНрд╖реЗрддреНрд░ рд╣реЛрддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╢реЗрд╖ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо / рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╕рдордп WF рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ 3 рдорд╛рдкрджрдВрдб рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реВрдВ:

1. рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо / рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓ рд░рд╣рд╛ рд╣реИред

рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдореЗрдВ, рд╣рдордиреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╕рдмрд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рд╕рднреА рдЙрддреНрдкрд╛рджреЛрдВ рдХрд╛ рдореВрд▓ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рджрд░реНрдЬрдиреЛрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рджрд░реНрдЬрдиреЛрдВ рдЧреНрд░рд╛рд╣рдХ, рд╣рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдмрджрд▓рддреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕реИрдХрдбрд╝реЛрдВ рдорд┐рд▓рддреЗ рд╣реИрдВред

2. рдкреНрд░рдХреНрд░рд┐рдпрд╛ / рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореЗрдВ рдПрдХ рд▓рдВрдмрд╛ рд▓реАрдб рд╕рдордп рд╣реЛрддрд╛ рд╣реИред

рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдЬреАрд╡рди рдЪрдХреНрд░ рдХреА рдЧрдгрдирд╛ рджрд┐рдиреЛрдВ рдФрд░ рд╣рдлреНрддреЛрдВ рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рд░реНрд╡рд░ рд╡рд┐рдлрд▓рддрд╛ рдпрд╛ рдЕрдзрд┐рднрд╛рд░ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред

3. рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреЗ рдмрд┐рдирд╛ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрд▓реНрдЧреЛрд░рд┐рджрдо / рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рд╣рдордиреЗ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг) рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдбрд┐рдЬрд╛рдЗрдирд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдмреЛрдЭ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдФрд░ рдЕрдкрдиреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрдХрд░реНрд╖рдХ рд╣реИред

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдЙрдкрд░реЛрдХреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рддреЛ WF рдХреЛ рдПрд▓реНрдЧреЛрд░рд┐рдердо / рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рдЙрджрд╛рд╣рд░рдг

WF рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ , рдореИрдВ рд╕рд┐рд░реНрдл рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдХрд┐ WF рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдЧрд╛ред
1. рдмреНрд▓реИрдВрдХ рд╕реЙрд▓реНрдпреВрд╢рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдпрд╛ IsWWFUsefullSample рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВ:



2. рдЯреЗрдореНрдкрд▓реЗрдЯ рдЧрддрд┐рд╡рд┐рдзрд┐ рдбрд┐рдЬрд╝рд╛рдЗрдирд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ IsWWFUsefullSample.Activities рдЬреЛрдбрд╝реЗрдВ:



3. рдореМрдЬреВрджрд╛ ActivityDesigner1.xaml рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдПрдБ рдФрд░ рдЧрддрд┐рд╡рд┐рдзрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдпрд╛ рддрддреНрд╡ рдЬреЛрдбрд╝реЗрдВ:



4. рдореИрдВ рдбрд┐рдЬрд╛рдЗрдирд░ рдореЗрдВ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рдЦреЛрд▓рддрд╛ рд╣реВрдВ рдФрд░ рдмреВрд▓рд┐рдпрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрд╡рд╢реНрдпрдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ:

- рддреАрди рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛ рд╣рдорд╛рд░реЗ рдорд╛рдирджрдВрдбреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ: IsLongRunning, IsChangeable, IsDesignerN рдЬрд░реВрд░реА;

- рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдкреИрд░рд╛рдореАрдЯрд░: рдкрд░рд┐рдгрд╛рдоред

рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣реИ рдХрд┐ рдлрд┐рд▓рд╣рд╛рд▓, VB.Net рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рдЕрдВрджрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдФрд░ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡реЗ C # рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд░рддреЗ рд╣реИрдВред



5. рдЖрдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдореИрдВ рддреАрди рдиреЗрд╕реНрдЯреЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдпрджрд┐ рдЧрддрд┐рд╡рд┐рдзрд┐рдпрд╛рдВ ( рдЯреВрд▓рдмреЙрдХреНрд╕ -> рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╡рд╛рд╣ -> рдпрджрд┐ ), рд╣рд╛рд▓рд╛рдВрдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдк рдПрдХ рдХреЗ рд╕рд╛рде рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдо рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ рдЧрддрд┐рд╡рд┐рдзрд┐ ( рдЯреВрд▓рдмреЙрдХреНрд╕ -> рдЖрджрд┐рдо -> рдЕрд╕рд╛рдЗрди ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрди рдПрд▓реНрдЧреЛрд░рд┐рдердо рд╣реИ:



6. рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддреИрдпрд╛рд░ рд╣реИред рдЗрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓реАрдХреЗрд╢рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдирдпрд╛ IsWWFUsefullSample.TestClient рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ:




7. рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдПрдВ Workflow1.xamlред

8. IsWWFUsefullSample.Activities рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реЗрдВред



9. рдореИрдВ рдореБрдЦреНрдп рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реВрдВред рд╡рд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рддреАрди рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддрд╛ рд╣реИ, рдкреНрд░рд╛рдкреНрдд рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЧрдгрдирд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред

// ==============================================================
// <copyright file="Program.cs" company="The World as a Workflow">
// Copyright (c) The World as a Workflow. All rights reserved.
// </copyright>
// <author>Alexander Nechyporenko</author>
// <date>2011-07-12</date>
// ==============================================================

namespace IsWWFUsefullSample.TestClient
{
using System;
using System.Activities;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using IsWWFUsefullSample.Activities;

/// <summary>
/// Console program class.
/// </summary>
public class Program
{
/// <summary>
/// Program starting point.
/// </summary>
/// <param name="args">Program parameters.</param>
public static void Main(string[] args)
{
// Question answers
const string Yes = "yes";
const string No = "no";
var answers = new List<string> { Yes, No };

// Create new activity instance
var activity = new IsWWFUsefull();
var parameters = new Dictionary<string, object>();

do
{
Console.WriteLine("Please, answer following questions to determine necessity of using WWF.");
Console.WriteLine();

// Read activity input parameters
parameters["IsLongRunning"] = ReadAnswer("Is process/algorithm long running?", answers) == Yes;
parameters["IsChangeable"] = ReadAnswer("Is process/algorithm frequently changed?", answers) == Yes;
parameters["IsDesignerNecessary"] =
ReadAnswer("Do you need a visual designer for your process/algorithm?", answers) == Yes;

// Execute activity
var result = WorkflowInvoker.Invoke(activity, parameters);

// Show result
Console.WriteLine();
if ((bool)result["Result"])
{
Console.WriteLine("Use WWF!");
}
else
{
Console.WriteLine("You don't need WWF but still can use it if you like it :).");
}
Console.WriteLine("---------------------------------------------------------------------");
Console.WriteLine();
}
while (ReadAnswer("Do you want to proceed?", answers) == Yes);

return;
}

/// <summary>
/// Read answer from console.
/// </summary>
/// <param name="question">Question text.</param>
/// <param name="answers">A list of posible</param>
/// <returns>Answer text.</returns>
private static string ReadAnswer(string question, IList<string> answers)
{
// Prepare answers prompting string
var answersString = new StringBuilder();
for (var i = 0; i < answers.Count; i++)
{
answersString.AppendFormat(i == 0 ? "{0}" : "/{0}", answers[i]);
}

// Read and validate the answer
var text = string.Empty;
var answer = string.Empty;
do
{
if (!string.IsNullOrEmpty(text))
{
Console.WriteLine(
string.Format("'{0}' doesn't belong to list of posible answers: '{1}'.", text, answersString));
}

Console.Write(string.Format("{0} ({1}): ", question, answersString));

text = Console.ReadLine();
answer = answers.Where(a => a == text.ToLower()).FirstOrDefault();
}
while (answer == null);

return answer;
}
}
}


10. рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдПрдВ рдФрд░ рдЙрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВ:



рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕реНрд░реЛрдд рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ ред

рд╕рднреА рд╕рдлрд▓ рд╡рд╛рд╕реНрддреБ рд╕рдорд╛рдзрд╛рди рдФрд░ рд╕реБрдЦрдж рдХреЛрдбрд┐рдВрдЧ!

Source: https://habr.com/ru/post/In125008/


All Articles