Below is a sample code.  My loop is only looping once even though there are three items in it. items[0].Duration is only returning the top item added.  It is not looping through the collection.
Any ideas?
public class DurationModel
{
    public string Duration { get; set; }
    public IEnumerable<List<DurationModel>> GetDurationItems()
    {
        List<DurationModel> durationItems = new List<DurationModel>();
        durationItems.Add(new DurationModel()
        {
            Duration = "1 Day"
        });
        durationItems.Add(new DurationModel()
        {
            Duration = "1 Week"
        });
        durationItems.Add(new DurationModel()
        {
            Duration = "1 Month"
        });
        yield return durationItems;
    }
}
public class MyForm
{
    private ObservableCollection<string> _durationItems = new ObservableCollection<string>();
    private IEnumerable<List<DurationModel>> _durationModel = new DurationModel().GetDurationItems();
    public MyForm()
    {
        GetData();
    }
    private void GetData()
    {
        foreach (var items  in _durationModel)
        {
            _durationItems.Add(items[0].Duration);
        }
    }   
}
 
     
     
     
    