Olá pessoal. Tudo certo!?
Este é o terceiro post dessa série sobre Windows Workflow Foundation. Nos posts anteriores, mostrei como criar workflows no código ou em Xaml. Neste, mostro como criar workflows usando o designer que está no Visual Studio.
Sobre Flowchart
Flowchart workflows, como o nome sugere, são atividades conectadas as demais através de nós de decisão. Diferente dos fluxos que vimos até aqui, onde uma atividade é executada após a outra (de forma sequencial), as atividades são executadas conforme as “decisões” são tomadas.
Como criar um flowchart workflow usando o designer
Depois de adicionar um “workflow” a seu projeto no Visual Studio (acho que você consegue fazer isso sozinho), abra este usando o designer.
Na toolbox há um conjunto de ferramentas específico para flowchart.
Arraste o elemento “Flowchart” para o editor e … pronto!
Perfeito!
Fazendo alguma coisa..
Para executar alguma coisa no flowchart, basta inserir o elemento que desejamos executar. No caso, vou inserir o elemento Writeline. Observe:
Como você pode ver, o Visual Studio está dizendo que algo está errado! Faltou conectar os elementos do fluxo (esse é o diferencial do Flowchart). Para fazer isso, posicione os elementos do elemento origem (Start) e arraste um dos conectores até o elemento destino (WriteLine)
Agora sim!
Para executar o fluxo, é necessário algo bem semelhante ao que já fizemos nos posts anteriores. Observe:
using System;
using System.Activities;
namespace FlowChartDemo
{
class Program
{
static void Main(string[] args)
{
WorkflowInvoker.Invoke(new Workflow1());
Console.ReadLine();
}
}
}
O nome do fluxo é definido no próprio editor do VS.
Tomando decisões
Com Flowchart, decisões são elementos fundamentais. Insira o elemento FlowDecision.
A conexão, fiz da forma que já havíamos já indicada.
Com este elemento selecionado, podemos indicar a condição e “labels” para true e false. Observe:
Voltando ao exemplo que já usamos nos posts anteriores, preenchi a as propriedades dessa forma:
Bacana, não?!
Completei o fluxo assim:
Claro que é um exemplo “bobo”, mas poderia ser expandido facilmente para algo mais útil com atividades relacionadas a negócio.
Lembre-se, este mesmo fluxo poderia ser construído em Xaml.
Queria um post mais “levinho”. Acho que atingimos o objetivo. Daqui para frente essa série deverá “pegar pesado”.
Era isso!






thiagotriunfo
15/01/2012
Boa Elemar,
Uma série de publicações excelente, mostrando o quão fácil pode ser gerenciar um processo usufruindo de recursos .NET com o visual studio!
Particularmente, esta forma de implementação deste post é a que menos gosto, a primeira sem dúvidas é a que eu prefiro, a segunda por sua vez com as necessidades e cenários de implantação e configuração agrega bastante a primeira.
Alias, das 3 formas, tem alguma com a qual você mais se sente confortavel também?
Parabéns!
elemarjr
17/01/2012
Olá Thiago,
Obrigado pelos cumprimentos.
Gostei de tanta pergunta que resolvi dar a minha resposta no quarto post da série.
[]s
Yuri
15/01/2012
Elemar boa noite,
Poderia criar um tópico sobre as vantagens e as destangens de utilizar cada uma das 3 implementações já mostradas, e também poderia citar os melhores cenários para utilização de cada.
Abraço.