//create contact cards to display on the pnlAllContacts public ContactBasic AddContactCard(int cardStartPos, int cardPos) { ContactBasic contact = new ContactBasic(); contact.Left = 1; contact.Top = cardPos + cardStartPos; ContactCards.Add(contact); return(contact); }
//creates contacts, sends data to AddressBookContacts to add to our singleton, and then returns whats needed to create our ContactCards public void DisplayContactCard(PictureBox profilePic, string firstName, string lastName, string phoneNumber, string address, string email, bool picAdded) { Contacts contact = abc.AddContact(profilePic, firstName, lastName, phoneNumber, address, email, picAdded); ContactBasic contactCard = abc.AddContactCard(CardStartPos, CardPos); //bind each created allContact object to the Contact class #region contactCard.DataBindings.Add("ContactName", contact, "FullName", true, DataSourceUpdateMode.OnPropertyChanged); contactCard.DataBindings.Add("ProfilePic", contact, "ProfilePic", true, DataSourceUpdateMode.OnPropertyChanged); contactCard.DataBindings.Add("ContactID", contact, "ContactID", true, DataSourceUpdateMode.OnPropertyChanged); #endregion //where contact card is binded to contact list pnlAllContacts.Controls.Add(contactCard); //add to panel to view card ContactsVisible.Add(contactCard); //add to list to track current visible contacts (to aid with searching and the logistics of groups) FullContactInfo fullContact = new FullContactInfo(); //bind each created allContact object to the Contact class #region fullContact.DataBindings.Add("ContactID", contact, "ContactID", true, DataSourceUpdateMode.OnPropertyChanged); fullContact.DataBindings.Add("ProfilePic", contact, "ProfilePic", true, DataSourceUpdateMode.OnPropertyChanged); fullContact.DataBindings.Add("FullName", contact, "FullName", true, DataSourceUpdateMode.OnPropertyChanged); fullContact.DataBindings.Add("FirstName", contact, "FirstName", true, DataSourceUpdateMode.OnPropertyChanged); fullContact.DataBindings.Add("LastName", contact, "LastName", true, DataSourceUpdateMode.OnPropertyChanged); fullContact.DataBindings.Add("PhoneNumber", contact, "PhoneNumber", true, DataSourceUpdateMode.OnPropertyChanged); fullContact.DataBindings.Add("Address", contact, "Address", true, DataSourceUpdateMode.OnPropertyChanged); fullContact.DataBindings.Add("Email", contact, "Email", true, DataSourceUpdateMode.OnPropertyChanged); fullContact.DataBindings.Add("PicAdded", contact, "PictureAdded", true, DataSourceUpdateMode.OnPropertyChanged); #endregion fullContactInfo1.Visible = false; //hide default FullContact panel pnlFullContact.Controls.Clear(); pnlFullContact.Controls.Add(fullContact); FullContact.Add(fullContact); abg.GroupChanged = true; CardPos += CardHeight; //variable to keep track of current card position }