Как заполнить свойство классами?
ТЗ: Продукты должны храниться в свойстве Products[] класса Store, и должны генерироваться в количестве 20 штук случайным набором из 5 вариантов продукта:
У меня есть класс Store и классы еды
internal class Store
{
public DateTime GetRandomDeliveryTime()
{
Random random = new Random();
int randomValue = random.Next(1, 201);
DateTime deliveryTimestamp = DateTime.Now.AddDays(-randomValue);
return deliveryTimestamp;
}
public string GetRandomStoragePlace()
{
Random random = new Random();
int randomValue = random.Next(1, 3);
string storagePlace;
if (randomValue == 1)
storagePlace = "Icebox";
else
storagePlace = "Showcase";
return storagePlace;
}
public void DoInspection()
{
}
}
abstract class Product : Store
{
public virtual string Name { get; set; }
public virtual double StorageLifeDays { get; set; }
public virtual string StoragePlace { get; set; }
public virtual DateTime DeliveryTimestamp { get; set; }
public abstract bool IsFresh();
}
internal class Corn : Product
{
public override string Name
{
get => base.Name = "Corn";
}
public override string StoragePlace
{
get => base.StoragePlace = GetRandomStoragePlace();
}
public override double StorageLifeDays
{
get => base.StorageLifeDays = 150;
}
public override DateTime DeliveryTimestamp
{
get => base.DeliveryTimestamp = GetRandomDeliveryTime();
}
public override bool IsFresh()
{
double isFresh = (double)DateTime.Now.Subtract(DeliveryTimestamp).TotalDays;
if (isFresh <= StorageLifeDays)
return true;
return false;
}
}
И таких классов продуктов несколько. По тз продукты должны храниться в свойстве Products[] класса Store, и должны генерироваться в количестве 20 штук случайным набором из 5 вариантов продукта. И я не могу понять как заполнить массив Product[]