public void SavePayers() { var toBeDeleted = new List <DataModel.Contact>(); foreach (var payer in initialPayerList) { var match = PayerList.FirstOrDefault(p => p.Id == payer.Id); if (match == null) { toBeDeleted.Add(payer); } } using (var conn = DBHandler.Connection()) { conn.Open(); using (var t = conn.BeginTransaction()) { toBeDeleted.ForEach(p => DataModel.Client.RemoveDefaultPayer(p.Id, conn, t)); toBeDeleted.ForEach(p => p.Delete(conn, t)); foreach (var payer in PayerList) { // Do not save empty names. if (string.IsNullOrWhiteSpace(payer.Name)) { if (payer.Id != null) { // Also remove those existing with empty names. DataModel.Client.RemoveDefaultPayer(payer.Id, conn, t); payer.Delete(conn, t); } } else { payer.Payer = true; payer.Save(conn, t); } } t.Commit(); } } Refresh(); }
public void RemovePayerFromList(DataModel.Contact payer) { PayerList.Remove(payer); }