+2 votos
91 visitas

Há uma página especializada com CodeBehind e um widget de formulário. A tabela (física) possui uma entidade com userinterface para change de um determinado campo.

No OnInit da página há um a delegação de métodos para o formulário supracitado:

protected override void OnInit(EventArgs e)
{
	base.OnInit(e);
	formLancamentoCC.GetEntityMethod = GetEntityMethodImplLancamentoCC;
	formLancamentoCC.CreateEntityMethod = CreateEntityMethodImplLancamentosCC;
	formLancamentoCC.SaveEntityMethod = SaveEntityMethodImplLancamentoCC;
	formLancamentoCC.DeleteEntityMethod = (EntityBase entity) => { };
	formLancamentoCC.CommandExecute += formLancamentoCC_CommandExecute;
}

Quando crio um novo registro, o método CreateEntityMethodImplLancamentosCC é chamado:

    private EntityBase CreateEntityMethodImplLancamentosCC(EntityViewBase entityView, NameValueDictionary suggestedValues, TransitoryData transitoryData)
    {
        suggestedValues = FNLancamentoCC.SugereValoresCamposCC(suggestedValues, formLancamentos.GetEntity());
        var entity = Entity.Create(entityView, suggestedValues, ObterParametrosEntidadeCC());
        return entity;
    }

Quando eu mudo o valor de algum campo que é afetado pelo userinterface (um método é chamado no FieldChanged), o CodeBehind passa novamente pelo CreateEntityMethodImplLancamentosCC.

Desta forma, o valor do campo que foi informado é sobrescrito pelo suggestedValues, nunca deixando eu realizar a alteração dele.

Quando não há userinterface, o mesmo não ocorre. O comportamento dele passar novamente no CreateEntityMethod é correto?

Observações:

O formulário que apresenta o problema é formLancamentoCC, a página também possui um formLancamento, que é passado por parâmetro no FNLancamentoCC.SugereValoresCamposCC. O método ObterParametrosEntidadeCC apenas cria uma nova instância de Benner.Tecnologia.Common.TransitoryData.

fechada com o comentário: Não mais necessário.
por (163 pontos)
republicada por | 91 visitas
Parece que o comportamento não está correto, seria legal depurar o código e entender o que está acontecendo.

Consegue anexar a stack trace da execução do evento CreateEntityMethodImplLancamentosCC ?

Perguntas relacionadas

+1 voto
1 resposta
+1 voto
1 resposta
perguntado 23 Out, 2019 por alan.jantz (163 pontos) | 98 visitas
+8 votos
1 resposta
0 votos
1 resposta
perguntado 31 Out, 2024 por Larson (445 pontos) | 1 visita
Melhores Apr 2026
  1. IsisRickman

    5 Pontos

  2. FelipaWhippl

    5 Pontos

  3. ShelliCrabtr

    5 Pontos

  4. CeceliaWysel

    5 Pontos

  5. VernonSchaw

    5 Pontos

  6. MargieOsterh

    5 Pontos

200 pontos
Melhores 2026 Apr 06 - 12
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. willian.metalsystem

    69 Pontos

  5. henrique.muller

    62 Pontos

  6. luciano.fronza

    61 Pontos

  7. luciano.fronza

    61 Pontos

  8. luciano.fronza

    61 Pontos

  9. diuari.molinari

    52 Pontos

  10. diuari.molinari

    51 Pontos

518 perguntas
567 respostas
389 comentários
775 usuários