private void SaveConsumableUpdate(ConsumableViewModel x) { EditingConsumable = null; EditingServingsConsumable = null; // new food item if (x.Id == null) { var newModel = new ConsumableViewModel(); newModel.Clone(x); newModel.Id = Guid.NewGuid().ToString(); Consumables.Add(newModel); } else { // Update existing food item var food = Consumables.FirstOrDefault(y => y.Id == x.Id); if (food == null) { var newModel = new ConsumableViewModel(); newModel.Clone(x); Consumables.Add(newModel); } else { food.Clone(x); // We save when we change the collection, so this is the only place we need to call save SaveConsumables(); } } }