Example #1
0
        /// <summary>
        /// Returns all the contacts associated with the specified property
        /// </summary>
        /// <param name="propName"></param>
        /// <returns></returns>
        private IContact[] GetContacts(string propName)
        {
            string sourceTable = GetSourceTable(propName);

            if (sourceTable == null)
            {
                return(null);
            }

            List <IContact> _contacts = new List <IContact>();

            DataTable dt = _client.DataManager.Db.Tables[sourceTable];

            Mailbox.ContactDataTable cdt = _client.DataManager.ContactTable;
            foreach (DataRow row in dt.Select("MessageID = " + ID))
            {
                int id = (int)row["ContactID"];
                foreach (Mailbox.ContactRow crow in cdt.Select("ID = " + id))
                {
                    _contacts.Add(new Contact(_client, crow.ID));
                }
            }

            return(_contacts.ToArray());
        }
Example #2
0
        internal IContact GetContactByEMail(string email)
        {
            lock (_lockObj)
            {
                Mailbox.ContactDataTable cdt  = ContactTable;
                Mailbox.ContactRow[]     rows = (Mailbox.ContactRow[])cdt.Select(String.Format("EMail like '{0}'", email));

                if (rows.Length > 0)
                {
                    return(new Contact(_client, rows[0].ID));
                }
            }

            return(null);
        }
Example #3
0
        internal IContact NewContact(string firstName, string lastName, string email)
        {
            lock (_lockObj)
            {
                Mailbox.ContactDataTable contactTable = ContactTable;
                Mailbox.ContactRow       row          = contactTable.NewContactRow();

                row.FirstName = firstName;
                row.LastName  = lastName;
                row.EMail     = email;

                contactTable.AddContactRow(row);
                contactTable.AcceptChanges();

                return(new Contact(_client, row.ID));
            }
        }