public void SaveStringConstants() { var toBeDeleted = new List <DataModel.StringConstant>(); foreach (var StringConstant in initialStringConstantList) { var match = StringConstantList.FirstOrDefault(p => p.Id == StringConstant.Id); if (match == null) { toBeDeleted.Add(StringConstant); } } using (var conn = DBHandler.Connection()) { conn.Open(); using (var t = conn.BeginTransaction()) { toBeDeleted.ForEach(p => p.Delete(conn, t)); foreach (var StringConstant in StringConstantList) { // Do not save empty text. if (string.IsNullOrWhiteSpace(StringConstant.Text)) { if (StringConstant.Id != null) { StringConstant.Delete(conn, t); // Also remove those existing and empty. } } else { StringConstant.Save(conn, t); } } t.Commit(); } } Refresh(); }
public void RemoveStringConstantFromList(DataModel.StringConstant StringConstant) { StringConstantList.Remove(StringConstant); }