public void DeleteContact(model.Contact contact) { var db = this._dataContext; var contactToDelete = db.Contacts.Where(c => c.Id == contact.Id).SingleOrDefault(); db.Contacts.DeleteOnSubmit(contactToDelete); db.SubmitChanges(); }
public void CreateContact(model.Contact contact) { var db = this._dataContext; var contactToInsert = MapToDB(contact); db.Contacts.InsertOnSubmit(contactToInsert); db.SubmitChanges(); }
public void EditContact(model.Contact contact) { var db = this._dataContext; var contactToEdit = db.Contacts.Where(c => c.Id == contact.Id).SingleOrDefault(); contactToEdit.FirstName = contact.FirstName; contactToEdit.LastName = contact.LastName; contactToEdit.Username = contact.Username; contactToEdit.Email = contact.Email; db.SubmitChanges(); }
public List<ContactWebLibrary.Contact> GetFriends(ContactWebLibrary.Contact contact) { var db = this._dataContext; var friendIds = (from f in db.Friends where f.ContactId1 == contact.Id || f.ContactId2 == contact.Id select f.ContactId1 == contact.Id ? f.ContactId2 : f.ContactId1).ToList(); var contacts = from c in db.Contacts where friendIds.Contains(c.Id) select new ContactWebLibrary.Contact() { Id = c.Id, Email = c.Email, FirstName = c.FirstName, LastName = c.LastName, Username = c.Username }; return contacts.ToList(); }
public void SetFriends(ContactWebLibrary.Contact contact, List<ContactWebLibrary.Contact> contacts) { var db = this._dataContext; var currentFriendIds = this.GetFriends(contact).Select(c=>c.Id); var newFriendsIds = contacts.Select(c => c.Id).ToList(); foreach(var newFriend in contacts) { if(!currentFriendIds.Contains(newFriend.Id)) { db.Friends.InsertOnSubmit(new SqlContactLibrary.Friend{ContactId1 = contact.Id,ContactId2 = newFriend.Id}); } } foreach(var id in currentFriendIds) if(!newFriendsIds.Contains(id)) db.Friends.DeleteOnSubmit(db.Friends.Where(f => (f.ContactId1 == id && f.ContactId2 == contact.Id) || (f.ContactId2 == id && f.ContactId1 == contact.Id)).SingleOrDefault()); db.SubmitChanges(); }
private db.Contact MapToDB(model.Contact contact) { return new db.Contact { Id = contact.Id, FirstName = contact.FirstName, LastName = contact.LastName, Email = contact.Email, Username = contact.Username }; }