/// <summary> /// Попытаться получить уведомление из команды ТУ /// </summary> private bool TryGetNotif(Command cmd, out Notification notif) { string cmdDataStr = cmd.GetCmdDataStr(); int sepInd = cmdDataStr.IndexOf(CmdAddrSep); if (sepInd >= 0) { string recipient = cmdDataStr.Substring(0, sepInd); string text = cmdDataStr.Substring(sepInd + 1); notif = new Notification() { Text = text }; if (addressBook == null) { // добавление данных получателя, явно указанных в команде ТУ notif.PhoneNumbers.Add(recipient); notif.Emails.Add(recipient); } else { // поиск адресов получателей в адресной книге AB.AddressBook.ContactGroup contactGroup = addressBook.FindContactGroup(recipient); if (contactGroup == null) { AB.AddressBook.Contact contact = addressBook.FindContact(recipient); if (contact == null) { // добавление данных получателя, явно указанных в команде ТУ notif.PhoneNumbers.Add(recipient); notif.Emails.Add(recipient); } else { // добавление данных получателя из контакта notif.PhoneNumbers.AddRange(contact.PhoneNumbers); notif.Emails.AddRange(contact.Emails); } } else { // добавление данных получателей из группы контактов foreach (AB.AddressBook.Contact contact in contactGroup.Contacts) { notif.PhoneNumbers.AddRange(contact.PhoneNumbers); notif.Emails.AddRange(contact.Emails); } } } return(true); } else { notif = null; return(false); } }
/// <summary> /// Попытаться получить почтовое сообщение из команды ТУ /// </summary> private bool TryGetMessage(Command cmd, out SmsMessage message) { string cmdDataStr = cmd.GetCmdDataStr(); int ind1 = cmdDataStr.IndexOf(';'); if (ind1 >= 0) { string recipient = cmdDataStr.Substring(0, ind1); string text = cmdDataStr.Substring(ind1 + 1); List <string> phone_numbers = new List <string>(); if (addressBook == null) { // добавление телефона получателя из данных команды phone_numbers.Add(recipient); } else { // поиск телефонов получателей в адресной книге AB.AddressBook.ContactGroup contactGroup = addressBook.FindContactGroup(recipient); if (contactGroup == null) { AB.AddressBook.Contact contact = addressBook.FindContact(recipient); if (contact == null) { // добавление телефона получателя из данных команды phone_numbers.Add(recipient); } else { // добавление телефона получателя из контакта phone_numbers.AddRange(contact.PhoneNumbers); } } else { // добавление телефонов получателей из группы контактов foreach (AB.AddressBook.Contact contact in contactGroup.Contacts) { phone_numbers.AddRange(contact.PhoneNumbers); } } } // создание сообщения message = CreateMessage(phone_numbers, text); return(message != null); } else { message = null; return(false); } }
/// <summary> /// Попытаться получить почтовое сообщение из команды ТУ /// </summary> private bool TryGetMessage(Command cmd, out MailMessage message) { string cmdDataStr = cmd.GetCmdDataStr(); int ind1 = cmdDataStr.IndexOf(';'); int ind2 = ind1 >= 0 ? cmdDataStr.IndexOf(';', ind1 + 1) : -1; if (ind1 >= 0 && ind2 >= 0) { string recipient = cmdDataStr.Substring(0, ind1); string subject = cmdDataStr.Substring(ind1 + 1, ind2 - ind1 - 1); string text = cmdDataStr.Substring(ind2 + 1); List <string> addresses = new List <string>(); if (addressBook == null) { // добавление адреса получателя из данных команды addresses.Add(recipient); } else { // поиск адресов получателей в адресной книге AB.AddressBook.ContactGroup contactGroup = addressBook.FindContactGroup(recipient); if (contactGroup == null) { AB.AddressBook.Contact contact = addressBook.FindContact(recipient); if (contact == null) { // добавление адреса получателя из данных команды addresses.Add(recipient); } else { // добавление адреса получателя из контакта addresses.AddRange(contact.Emails); } } else { // добавление адресов получателей из группы контактов foreach (AB.AddressBook.Contact contact in contactGroup.Contacts) { addresses.AddRange(contact.Emails); } } } // создание сообщения message = CreateMessage(addresses, subject, text); return(message != null); } else { message = null; return(false); } }
private void btnAddContactGroup_Click(object sender, EventArgs e) { // добавление группы контактов AddressBook.ContactGroup contactGroup = new AddressBook.ContactGroup(AbPhrases.NewContactGroup); TreeNode contactGroupNode = CreateContactGroupNode(contactGroup); treeView.Add(rootNode, contactGroupNode); contactGroupNode.BeginEdit(); Modified = true; }
private void btnAddContactGroup_Click(object sender, EventArgs e) { // add contact group var contactGroup = new AddressBook.ContactGroup(AbPhrases.NewContactGroup); var contactGroupNode = CreateContactGroupNode(contactGroup); treeView.Add(rootNode, contactGroupNode); contactGroupNode.BeginEdit(); Modified = true; }
/// <summary> /// Создать узел дерева для группы контактов /// </summary> private TreeNode CreateContactGroupNode(AddressBook.ContactGroup contactGroup) { string imageKey = contactGroup.Contacts.Count > 0 ? "folder_open.png" : "folder_closed.png"; TreeNode contactGroupNode = TreeViewUtils.CreateNode(contactGroup, imageKey, true); foreach (AddressBook.Contact contact in contactGroup.Contacts) { contactGroupNode.Nodes.Add(CreateContactNode(contact)); } return(contactGroupNode); }
/// <summary> /// Получить список телефонных номеров получателя, используя адресную книгу /// </summary> private List <string> GetPhoneNumbers(string recipient) { List <string> phoneNumbers = new List <string>(); if (addressBook == null) { // добавление номера получателя напрямую phoneNumbers.Add(recipient); } else { // поиск телефонных номеров получателей в адресной книге AB.AddressBook.ContactGroup contactGroup = addressBook.FindContactGroup(recipient); if (contactGroup == null) { AB.AddressBook.Contact contact = addressBook.FindContact(recipient); if (contact == null) { // добавление номера получателя напрямую phoneNumbers.Add(recipient); } else { // добавление номеров получателей из контакта phoneNumbers.AddRange(contact.PhoneNumbers); } } else { // добавление номеров получателей из группы контактов foreach (AB.AddressBook.Contact contact in contactGroup.Contacts) { phoneNumbers.AddRange(contact.PhoneNumbers); } } } return(phoneNumbers); }