public void Undo() { if (isAdd) { if (obj is Item) itemList[(int)((Item)obj).Id] = null; else itemList.Remove(obj); } else { if (obj is Item) itemList[(int)((Item)obj).Id] = obj; else itemList.Add(obj); } isAdd = !isAdd; }