Estoy usando la gran biblioteca .NET AutoPoco para crear datos de prueba y semilla.Generando un valor dependiente de otro valor con AutoPoco
En mi modelo tengo 2 propiedades de fecha, StartDate y EndDate.
Quiero que el EndDate sea 3 horas después de la Fecha de inicio.
He creado una fuente de datos personalizado para autopoco a continuación que devuelve una fecha y hora aleatoria entre un minuto y la fecha máxima
class DefaultRandomDateSource : DatasourceBase<DateTime>
{
private DateTime _MaxDate { get; set; }
private DateTime _MinDate { get; set; }
private Random _random { get; set; }
public DefaultRandomDateSource(DateTime MaxDate, DateTime MinDate)
{
_MaxDate = MaxDate;
_MinDate = MinDate;
}
public override DateTime Next(IGenerationSession session)
{
var tspan = _MaxDate - _MinDate;
var rndSpan = new TimeSpan(0, _random.Next(0, (int) tspan.TotalMinutes), 0);
return _MinDate + rndSpan;
}
}
Pero en la configuración del AutoPoco ¿Cómo puedo obtener mi EndDate sea decir, 3 horas después la fecha de inicio autogenerado?
Aquí está la configuración autopoco
IGenerationSessionFactory factory = AutoPocoContainer.Configure(x =>
{
x.Conventions(c => { c.UseDefaultConventions(); });
x.AddFromAssemblyContainingType<Meeting>();
x.Include<Meeting>()
.Setup((c => c.CreatedBy)).Use<FirstNameSource>()
.Setup(c => c.StartDate).Use<DefaultRandomDateSource>(DateTime.Parse("21/05/2011"), DateTime.Parse("21/05/2012"));
});
¿Desea que todas las fechas de finalización sean después de 3 horas de las fechas de inicio generadas o solo una diferencia aleatoria? – TheVillageIdiot
Gracias por la respuesta, idealmente una diferencia aleatoria entre un valor máximo y mínimo. – MrBliz