Skip to main content
Version: v20

Relações Um para Muitos - Ações

Vamos agora criar uma tarefa para um funcionário específico.

É fácil criar uma entidade usando parent Entity !

Vamos começar baixando o Projeto Starter:

Criar ação addProject

  • Abra o editor de projeto e vá para a seção Ação.

  • Adicionar uma Ação addProject

create addProject Method

Método On Mobile App Action

A única coisa que precisa fazer é definir a ação addProject no método On Mobile App Action como abaixo :

: ($request.action="addProjects")

$o:=New object(\
"dataClass";$context.dataClass;\
"parent";$context.parent;\
"entity";$context.entity;\
"parameters";$parameters)

$result:=addProject ($o)


Método addProject

Agora entre estas linhas em seu método addProject:

C_OBJECT($0)
C_OBJECT($1) C_OBJECT($entity;$in;$out)

$in:=$1
$out:=New object("success";False) If ($in.dataClass#Null)

$entity:=ds[$in.dataClass].new() //Cria uma referência

For each ($key;$in.parameters)

$entity[$key]:=$in.parameters[$key]

End for each

$primaryKey:=$in.parent.primaryKey //Obtém a chave primária pai

$parent:=ds[$in.parent.dataClass].get($primaryKey)

$inverseRelationName:=$in.entity.relationName //Obtém o nome de relação pai

$entity[$inverseRelationName]:=$parent

$status:=$entity.save() //salva a entidade

$out.success:=True // notififca o App que a ação teve sucesso

$out.dataSynchro:=True // notifica o App para refrescar a seleção

$out.statusText:="Task added"

$out.close:=True Else

$out.errors:=New collection("No Selection") End if

$0:=$out

E isso é tudo, agora pode adicionar uma tarefa para seus funcionários facilmente usando a Entity pai!

Baixe o projeto terminado: