コード例 #1
0
 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();
 }
コード例 #2
0
 public void CreateContact(model.Contact contact)
 {
     var db = this._dataContext;
     var contactToInsert = MapToDB(contact);
     db.Contacts.InsertOnSubmit(contactToInsert);
     db.SubmitChanges();
 }
コード例 #3
0
 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();
 }
コード例 #4
0
 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();
 }
コード例 #5
0
        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();
        }
コード例 #6
0
 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
     };
 }