Despite it being more than easy for you to figure this out yourself, here is some code to get you started:
public class FarmersMarket
{
public IEnumerable Farmers { get; }
public IEnumerable GetFarmersWithProduce (IProduce produce)
{
foreach( Farmer farmer in this.Farmers )
{
if( farmer.Produce.Contains(produce) )
{
yield return farmer;
}
}
}
}
public class Farmer
{
private List _produce;
public Farmer ()
{
_produce = new List();
}
public MarketStand Stand { get; set; }
public IEnumerable Produce { get; }
public void AddProduce (IProduce produce) { _produce.Add(produce); }
}
public class MarketStand
{
public Point Location { get; set; }
public Farmer Farmer { get; set; }
public IEnumerable Produce { get { return this.Farmer.Produce; } }
}
public interface IProduce
{
string Name;
double Price;
} {
string Name;
double Price;
}
Hopefully this is at least along the lines of what you were needing. Just expand from here now that you have a basic structure.