public static void Löschprotokoll() { List <DeleteLog> deleteLogs; using (var db = new ContactManagerContext()) { deleteLogs = db.DeleteLogs .OrderByDescending(l => l.DeleteDate) .Take(20) .ToList(); } MessageBox.Show(string.Join("\n", deleteLogs .Select(l => l.DeleteDate.ToString("yyyy.MM.dd HH:mm:ss") + " " + l.Metadata)), "Letzte 20 Löschungen"); }
public static void Speichern(ObservableCollection <Kontakt> contacts) { using (var db = new ContactManagerContext()) { foreach (var contact in contacts.Where(c => c.Geändert)) { contact.Geändert = false; if (contact.Id != 0) { db.Contacts.Attach(contact); var entry = db.Entry(contact); entry.Property(e => e.Vorname).IsModified = true; entry.Property(e => e.Nachname).IsModified = true; } else { db.Contacts.Add(contact); } } db.SaveChanges(); } }
static void Main(string[] args) { ObservableCollection <object> repository; using (var db = new ContactManagerContext()) { var contacts = (from c in db.Contacts orderby c.Nachname, c.Vorname select c).ToList(); repository = new ObservableCollection <object>(contacts); } Show.Prototype(With.Objects(repository) .AndViewOf <Kontakt>().EnableDelete(deleted => { if (deleted.Id != 0) { using (var db = new ContactManagerContext()) { db.Contacts.Attach(deleted); db.Contacts.Remove(deleted); db.DeleteLogs.Add(new DeleteLog { DeleteDate = DateTime.Now, Metadata = deleted.Vorname + " " + deleted.Nachname }); db.SaveChanges(); } } }) .EnableNew(newed => newed.Geändert = true) .OnValueChanged(changed => changed.Geändert = true) ); }