// <summary> // Obtiene la referencia a la factoría de repositorios de la entidad <see cref="T:Persona"/>. // </summary> //private PersonaRepositoryFactory PersonaRepositoryFactory //{ //get { return this.personaRepositoryFactory; } //} #endregion #region Create Method // from template Application\UpdateBase\I2ServiceRegionCreateMethod.tt /// <summary> /// Crea una entidad Persona. /// </summary> /// <param name="personaDto"> /// DTO que contiene la información para crear la entidad. /// </param> /// <returns> /// El identificador de la entidad creada. /// </returns> public int Create(PersonaDto personaDto) { #region Preconditions // Comprobar el DTO de entrada. Guard.ArgumentIsNotNull( personaDto, string.Format( FrameworkResource.DataTransferObjectIsNull, SharedResources.PersonaAlias)); // Comprobar los campos mandatory dentro del DTO. Guard.ArgumentNotNullOrEmpty( personaDto.Nombre, string.Format( FrameworkResource.PropertyRequired, SharedResources.Persona_NombreAlias, SharedResources.PersonaAlias) ); #endregion // el dto debe corresponder a un transient el id debe tener el valor por defecto Guard.Against <ArgumentException>(personaDto.Id != default(Int32), string.Format( FrameworkResource.IsNotTransient, SharedResources.PersonaAlias ) ); Persona persona = PersonaFactory.Create(personaDto.Nombre); persona.BooleanField = personaDto.BooleanField; persona.DatetimeField = personaDto.DatetimeField; persona.ByteField = personaDto.ByteField; persona.GuidField = personaDto.GuidField; persona.DecimalField = personaDto.DecimalField; persona.DobleField = personaDto.DobleField; persona.FloatField = personaDto.FloatField; persona.IntField = personaDto.IntField; persona.LongField = personaDto.LongField; persona.DateTimeOffsetField = personaDto.DateTimeOffsetField; persona.ShortField = personaDto.ShortField; persona.TimeSpanField = personaDto.TimeSpanField; persona.Int16Field = personaDto.Int16Field; persona.Int32Field = personaDto.Int32Field; persona.Int64Field = personaDto.Int64Field; IPersonaRepository repo = ApplicationLayer.IocContainer.Resolve <IPersonaRepository>(); repo.Add(persona); this.Commit(); return(persona.Id); }
public PersonaDomainTests() { factory = container.Resolve <PersonaFactory>(); }