Controlo Caracteres do codigo na Criação de cliente

0

boas,
ao criar um cliente é necessário controlar se o codigo de cliente tem caracteres ou não, o problema é que quando é criado no antes de criar não tem cancel para colocar-mos a true…
tentei forçar o codigo de cliente a vazio caso deteta-se para forçar o erro mas ele parece que grava antes do AntesDeCriar, quando é cliente novo nem sequer passa no AntesDeGravar e por serviço nem sequer existe o AntesDeCriar… segue abaixo o que estou a tentar

public override void AntesDeCriar(ExtensibilityEventArgs e)
        {
            bool result = this.Cliente.Cliente.All(Char.IsLetter);
            if (result == true)
            {
                throw new Exception("Codigo cliente contem letras deve modificar!");
            }
        }

 

Marcado como spam
perguntado a 14 Setembro, 2026 11:21
7 Views
Resposta privada

Está a criar o cliente por serviço ou pelos editores? Não estou a ter problemas em interromper o código durante o AntesDeGravar. Posso testar mais para ver onde o debugger pára primeiro, se no AntesDeCriar ou no AntesDeGravar.

Marcado como spam
Respondido a 18 Setembro, 2026 11:57
    Resposta privada

    Boa Tarde, neste caso tem de ser o AntesdeGravar tem que funcionar, já fiz isso n vezes... O AntesdeCriar senão me engano é ants de meter o codigo de cliente.

    Marcado como spam
    Respondido a 16 Setembro, 2026 10:17
      Olá Bruno, eu antes de criar o codigo no AntesDeCriar já tinha experimentado no AntesDeGravar no entanto quando é um cliente novo ele nem entra no AntesDeGravar, não sei se será bug caso fosse suposto entrar, porque pela logica era bem mais facil ele fazer pelo AntesDeGravar por efetivamente usava o cancel=true Segue abaixo o que eu tenho ainda no AntesDeGravar mas que não entra quando é criação (confirmei com debug) public override void AntesDeGravar(ref bool Cancel, ExtensibilityEventArgs e) { bool result = this.Cliente.Cliente.All(Char.IsLetter); if (result == true) { Cancel = true; PSO.Dialogos.MostraAviso("Codigo cliente contem letras deve modificar!"); } }
      (Jorge Silva at 16 Setembro, 2026 10:22)