Yo estuve haciendo pruebas, despues no lo termine :P

pero podes usar el engine para generacion de codigo de cooperator y lo podes 
combinar con la metadata del assembly

--------------------------------------------------------------------------------

rdi2k | Ezequiel Jadib | MSN: [EMAIL PROTECTED] | Blogs: 
http://geeks.ms/blogs/ejadib/ (ES) - ejadib.wordpress.com (EN) 
  ----- Original Message ----- 
  From: Sebastian Renzi 
  To: puntonet@mug.org.ar 
  Sent: Wednesday, January 24, 2007 10:22 AM
  Subject: [puntonet] Validar entidad


  Dani, antes que nada quería comentar que el link que mande ayer no hace lo 
que yo pensaba. Creí que levantaba la metadata de la base y los assembly que 
levanta son solo los templates para la generación.

  La verdad es que lo que quiero es generar código basándome en un assembly que 
contenga el domain model, si ya hay algo hecho mejor ,pero la verdad no 
encontré, así que me parece lo voy a tener que hacer. 

  Hay un proyecto en codeplex llamado "NHibernate Domain Mapper" que levanta la 
metadata de un assembly pero para generar los hbm, así que se podría investigar 
esa parte y después ver como generar el código.

  Si tenes info, la verdad me interesaría mucho verlo un poco mas en 
profundidad y si les parece bien después lo meten dentro del coop.

   


------------------------------------------------------------------------------

  De: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Daniel Calvin
  Enviado el: martes, 23 de enero de 2007 20:18
  Para: puntonet@mug.org.ar
  Asunto: [puntonet] Validar entidad

   

  Hola Seba

   

  Mirá hay mucho que se puede generar, no con el modeler actual, pero no sería 
imposible armar uno que sirva.

  La ing. inversa de un assembly es una pavada.

   

  Hay algunos temas que resolver, que entidades conforman agregaciones y cuales 
composiciones. ( por ejemplo )

   

  La ing. inversa no sirve pa determinar esas cosas, se puede hacer con 
asistencia del desarrollador, tal como hoy el modeler de coop no infiere todo 
desde la base.
   

  No se si te interesa ver el tema en profundidad como para construir algo o 
solo estas buscando algo que ya lo tenga resuelto y solo usarlo.

   

  Contame si queres, las ideas y principios a aplicar son simples, tenemos todo 
el core armado como para poder hacer esas cosas, solo hay que armarlo.

   

  Bue, contame...

   

  Abrazo

   

  Daniel Calvin


   

  El día 23/01/07, Sebastian Renzi <[EMAIL PROTECTED]> escribió: 

  Generar mis propios artefactos pero basandome en un assembly que contenga el 
domino ya modelado. Modelaria las clases del domino con el class designer del 
VS2005, compilo el assembly y en base a eso quiero generar las entidades, 
repositorios y demas yerbas.. no se si me explique bien que es lo que quiero 
hacer .. por ahí vi algo que me parece hace algo como lo que busco ,pero no 
tuve tiempo de mirarlo en detalle. 

  http://www.codeproject.com/useritems/SmartCode-Code_Generation.asp

   

  La única contra que le veo a este es que las dll tienen que estar si o si en 
el GAC para que las levante. 

   


------------------------------------------------------------------------------

  De: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Daniel Calvin
  Enviado el: martes, 23 de enero de 2007 16:43
  Para: puntonet@mug.org.ar
  Asunto: [puntonet] Validar entidad

   

  Uhmmmm, no demasiado para algunas cosas y para otras tal vez si.

   

  Coop usa una Abstract Factory para resolver la ing. inversa, con lo cual se 
puede ( en teoria al menos ) escribir un provider para que lo levante de 
cualquier lado. 

   

  El tema es que vos lo que querrias hacer es la ing. inversa del modelo y 
genarar la DAL o algo por el estilo. Es eso?????

   

  Contame que es lo que pensas, la finalidad y te digo que tan complejo es....

   

  Daniel

   

  El día 23/01/07, Sebastian Renzi < [EMAIL PROTECTED]> escribió: 

  Gracias Dany por la data.

  Respondiendo a tu plegaria de la PD, que tan complicado seria hacerle algunos 
cambios al coop para que la fuente de metadata no sea un schema de base de 
datos sino un assembly ? 

   


------------------------------------------------------------------------------

  De: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Daniel Calvin
  Enviado el: martes, 23 de enero de 2007 16:14
  Para: puntonet@mug.org.ar
  Asunto: [puntonet] Validar entidad

   

  Que buena pregunta Mario....         :))

   

  Por lo general, y a mi pesar algunas veces pasa que uno rompe sus propias 
reglas, trato de no usar ese tipo de cosas.

   

  Si ves coop te permite implementar una interface IValidable

  using System;
  namespace Cooperator.Framework.Core 
  {
      public interface IValidable
      {
           void Validate();
      }
  }

  Y te genera las clases asi:
   

  public partial class Cliente
  // : IValidable
  {

  Si queres sacas el comentario, ( \\ ), e implementas la interface genrando 
una exception si la validacion es fallida.

   

  Bueno, fijate que es void, no retorna valor, el core de coop internamente lo 
que hace es siempre que la entidad impelmente IValidable invocar el validate. 

   

  La única opción que tenes es en validate generar una exception, coop se 
encargara de progresarla.

   

  Me parece que es parecido a lo que queres hacer vos. Fijate que no retorna un 
estado, por un lado el framework te garantiza la invocación del metodo, por 
otro burbujea la exception. 

   

  No se si es lo que estas buscando, tal vez la idea te sirva. Tampoco es un 
método que me encante, creo que sirve cuando ya no quedan más opciones. ( sobre 
por alla abajo en la DAL ) 

   

  Abrazos

   

  Daniel Calvin

  PD: Bajen y usen coop.....    ( por favor ... ) ja ja

   

   


   

  El día 23/01/07, Sebastian Renzi < [EMAIL PROTECTED] > escribió: 

  Gracias Dany por la respuesta .. que usas vos para reemplazar public bool 
Validate() ?

   


------------------------------------------------------------------------------

  De: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Daniel Calvin
  Enviado el: martes, 23 de enero de 2007 15:30
  Para: puntonet@mug.org.ar
  Asunto: [puntonet] Validar entidad

   

  Hola Sebastian

   

  En realidad hablar de validar es un poco amplio...., prefiero hablar de 
operaciones fallidas.

  Pero sin entrar en detalles sobre el tema, creo que la mejor opción siguen 
siendo la excetions...

  Te garantizan esabilidad, no tenes que arrastar flags, enums, lo que sea.

   

  Digo que validar es amplio porque en algunos casos no se justifica una 
exception, particularmente no me gustan los public bool Validate() en las 
clases, pero hay quienes lo usan.... 

   

  Las exceptions son caras?, yo respondo, pero confiables y ricas en 
información.

   

  Es un tema largo, muchas veces no se puede retornar un estado aunque se 
quiera, por ejemplo una falla en un  constructor, hay otras aunque se pueda 
retornar no se controla... 

   

  Bue, tal vez aporte mas confusión que claridad, vivan las exceptions!!!!!

   

  Daniel

   

  El día 23/01/07, Sebastian Renzi < [EMAIL PROTECTED] > escribió: 

  Hola lista, buenas tardes, quisiera conocer sus opiniones de cómo retornan o 
avisan que una entidad no esta validada.

  Supongamos que tengo el objeto Cliente, al momento de persistirlo verifico si 
esta validado, en el caso que no lo este, estoy tirando una exception, me 
gustaría saber como lo hacen, ya que siempre me dio un poco de cosa manejarme 
con exceptions. 

   

  Salu2

   

  Sebastian Renzi

   

   

   

   

   




  -- 
  Daniel A. Calvin
  Cooperator Team Member
  http://www.cooperator.com.ar 
  Microsoft Certified Professional 




  -- 
  Daniel A. Calvin
  Cooperator Team Member
  http://www.cooperator.com.ar 
  Microsoft Certified Professional 




  -- 
  Daniel A. Calvin
  Cooperator Team Member
  http://www.cooperator.com.ar 
  Microsoft Certified Professional 




  -- 
  Daniel A. Calvin
  Cooperator Team Member
  http://www.cooperator.com.ar
  Microsoft Certified Professional 

Responder a