Project Description
Model Generator Helper is a small program that will allow you to easily create view models from your logic models by copying the logic model's properties and the properties' attributes. The original purpose of the program was to copy the validation annotations to my view models.

Intro
Sometimes you want to pass to your views a class different from your raw classes generated from the database. For example, lets say we have this logical model classes:

class Payment
{
   [Max(1200)]
   public int Amount {get; set;}

   public int PersonID {get; set;}
}

class Person
{
   [StringLength(50)]
   public string Name {get; set;}

   public int PersonID {get; set;}
}


And you need a View model for your view that allows the user to edit the name of the person doing the payment and the amount paid. This program will allow you to copy the Amount property (and its validation) and the Person's Name property (and its validations), that way you don't repeat yourself by typing the same validations. The generated class would look something like this:

partial class PaymentView
{
   [StringLength(50)]
   public string Name {get; set;}
   [Max(1200)]
   public int Amount {get; set;}

   public int PersonID {get; set;}
}


The program will also generate methods for loading property values from the original model classes, providing basic mapping. For more advanced mapping please consider using AutoMapper together with this program.

If you make changes to your original logical classes, you can tell the program to "refresh" the generated models to update the properties' types and attributes.

If you have any questions, please feel free to post them in the "Discussions" link above.

See screenshot here.

Last edited Jul 10, 2010 at 4:10 PM by juantar, version 4