Alterar via C# o valor de um campo ao salvar um formulário
Caso vc precise aplicar algumas regras como mudar o valor de um campo via C# ao salvar um formulário, você pode aplicar as seguintes regras:
Crie uma regra como na imagem abaixo
Dentro da regra, adicione uma opção de Programação via C# como na imagem abaixo
Esse é um código de exemplo:
public async Task ExecuteAsync(){
if(!IsNovoFormulario){
var new_sub_status = FormContext.GetValue("sub_status");
var old_sub_status = "";
var paramsQuery = new List<NpgsqlParameter>();
paramsQuery.Add(new NpgsqlParameter("@frm_id", IdFormulario));
var sql = "select sub_status from x_tbl_message_queue_sub_status where id = @frm_id ";
var dt = await FormContext.GetDataTableAsync(sql, paramsQuery.ToArray());
foreach (DataRow dr in dt.Rows)
{
if (dr["sub_status"] != DBNull.Value)
old_sub_status = dr["sub_status"].ToString();
}
if(old_sub_status.EndsWith("1")){
FormContext.SetValue("sub_status", new_sub_status + " 2");
}else{
FormContext.SetValue("sub_status", new_sub_status + " 1");
}
}
}