Current section

Files

Jump to
bpe src ext bpe_account.erl.orig
Raw

src/ext/bpe_account.erl.orig

-module(bpe_account).
-author('Maxim Sokhatsky').
-include("bpe.hrl").
-include("doc.hrl").
-export([def/0]).
-compile(export_all).
def() ->
#process { name = 'IBAN Account',
flows = [
<<<<<<< Updated upstream
#sequenceFlow{name='Init', source='Created', target='Init'},
#sequenceFlow{name='Upload', source='Init', target='Upload'},
#sequenceFlow{name='Payment', source='Upload', target='Payment'},
#sequenceFlow{name='Signatory', source='Payment', target='Signatory'},
#sequenceFlow{name='Process', source='Payment', target='Process'},
#sequenceFlow{name='Process', source='Signatory', target='Process'},
#sequenceFlow{name='Final', source='Signatory', target='Final'} ],
=======
#sequenceFlow{name=r1, source='Created', target='Init'},
#sequenceFlow{name=r2, source='Init', target='Upload'},
#sequenceFlow{name=r3, source='Upload', target='Payment'},
#sequenceFlow{name=r4, source='Payment', target=['Signatory','Process']},
#sequenceFlow{name=r5, source='Process', target=['Process','Final']},
#sequenceFlow{name=r6, source='Signatory', target=['Process','Final']} ],
>>>>>>> Stashed changes
tasks = [
#beginEvent { name='Created', module = bpe_account },
#userTask { name='Init', module = bpe_account },
#userTask { name='Upload', module = bpe_account },
#userTask { name='Signatory', module = bpe_account },
#serviceTask { name='Payment', module = bpe_account },
#serviceTask { name='Process', module = bpe_account },
#endEvent { name='Final', module = bpe_account } ],
beginEvent = 'Created',
endEvent = 'Final',
events = [ #messageEvent{name='PaymentReceived'},
#boundaryEvent{name='*', timeout=#timeout{spec={0, {10, 0, 10}}}} ] }.
action({request,'Created',_}, Proc) ->
{reply,Proc};
action({request,'Init',_}, Proc) ->
{reply,Proc};
action({request,'Payment',_}, Proc) ->
Payment = bpe:doc({payment_notification},Proc),
case Payment of
[] -> {reply,'Process',Proc#process{docs=[#tx{}]}};
_ -> {reply,'Signatory',Proc} end;
action({request,'Signatory',_}, Proc) ->
{reply,'Process',Proc};
action({request,'Process',_}, Proc) ->
case bpe:doc(#close_account{},Proc) of
#close_account{} -> {reply,'Final',Proc};
_ -> {reply,Proc} end;
action({request,'Upload',_}, Proc) ->
{reply,Proc};
action({request,'Final',_}, Proc) ->
{reply,Proc}.