public void UpdateSupplies() { for (int i = 0; i < Supplies.Count; i++) { if (Supplies[i].DateTimeEnd <= DateTime.Now) { HistorySupplies.Add(CopySupply(Supplies[i])); foreach (var portion in Supplies[i].Portions) { portion.Item.Available += portion.Amount; } Supplies.RemoveAt(i); i--; } } }