La validación de los objetos por sus limitaciones


Usted puede haber notado ya que por defecto en Negrita te permitirá guardar objetos con inválida restricciones. Aquí es una solución.
Reemplazar MayUpdate en su clase base (BusinessClassesRoot en este ejemplo) e incluir el siguiente código....
función TBusinessClassesRoot.MayUpdate: Boolean
var
& nbsp & nbsp I: Integer
& nbsp & nbsp Errores: TStringList
& nbsp & nbsp IE: TBoldIndirectElement
& nbsp & nbsp Lista: TBoldList
begin
& nbsp & nbsp es decir := TBoldIndirectElement.Crear
& nbsp & nbsp Errores := TStringList.Crear
& nbsp & nbsp probar
& nbsp & nbsp & nbsp & nbsp probar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp EvaluateExpression('restricciones->select(c| no c)', IE)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Lista := IE.Valor como TBoldList
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp for I := 0 a la Lista.Count - 1 do
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Errores.Agregar(Lista[0].AsString)

& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := (Errores.Count = 0)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp si no el Resultado de
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp BoldClearLastFailure
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp SetBoldLastFailureReason(TBoldFailureReason.Crear(Los Errores.De texto, Auto))
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp excepto
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := False
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp elevar
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp finalmente
& nbsp & nbsp & nbsp & nbsp IE.Libre
& nbsp & nbsp & nbsp & nbsp Errores.Libre
& nbsp & nbsp final
fin
Si se intenta guardar un objeto con rotura de restricciones se producirá un error.









La validacion de los objetos por sus limitaciones


La validacion de los objetos por sus limitaciones : Multi-millones de consejos para hacer su vida mas facil.


Usted puede haber notado ya que por defecto en Negrita te permitira guardar objetos con invalida restricciones. Aqui es una solucion.
Reemplazar MayUpdate en su clase base (BusinessClassesRoot en este ejemplo) e incluir el siguiente codigo....
funcion TBusinessClassesRoot.MayUpdate: Boolean
var
& nbsp & nbsp I: Integer
& nbsp & nbsp Errores: TStringList
& nbsp & nbsp IE: TBoldIndirectElement
& nbsp & nbsp Lista: TBoldList
begin
& nbsp & nbsp es decir := TBoldIndirectElement.Crear
& nbsp & nbsp Errores := TStringList.Crear
& nbsp & nbsp probar
& nbsp & nbsp & nbsp & nbsp probar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp EvaluateExpression('restricciones->select(c| no c)', IE)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Lista := IE.Valor como TBoldList
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp for I := 0 a la Lista.Count - 1 do
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Errores.Agregar(Lista[0].AsString)

& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := (Errores.Count = 0)
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp si no el Resultado de
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp empezar
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp BoldClearLastFailure
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp & nbsp SetBoldLastFailureReason(TBoldFailureReason.Crear(Los Errores.De texto, Auto))
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp & nbsp & nbsp excepto
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp Resultado := False
& nbsp & nbsp & nbsp & nbsp & nbsp & nbsp elevar
& nbsp & nbsp & nbsp & nbsp final
& nbsp & nbsp finalmente
& nbsp & nbsp & nbsp & nbsp IE.Libre
& nbsp & nbsp & nbsp & nbsp Errores.Libre
& nbsp & nbsp final
fin
Si se intenta guardar un objeto con rotura de restricciones se producira un error.


La validación de los objetos por sus limitaciones

La validación de los objetos por sus limitaciones : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación