public void ExportMessageToCrm(int id_message, IEnumerable <CrmContactEntity> crm_contact_ids) { if (id_message < 0) { throw new ArgumentException(@"Invalid message id", "id_message"); } if (crm_contact_ids == null) { throw new ArgumentException(@"Invalid contact ids list", "crm_contact_ids"); } var messageItem = MailBoxManager.GetMailInfo(TenantId, Username, id_message, new MailMessage.Options { LoadImages = true, LoadBody = true, NeedProxyHttp = false }); messageItem.LinkedCrmEntityIds = crm_contact_ids.ToList(); var scheme = HttpContext.Current == null ? Uri.UriSchemeHttp : HttpContext.Current.Request.GetUrlRewriter().Scheme; var crmDal = new CrmHistoryDal(TenantId, Username, scheme); crmDal.AddRelationshipEvents(messageItem); }
private void AddChainMailsToCrmHistory(DbManager db, ChainInfo chainInfo, int tenant, string user, List <CrmContactEntity> contactIds) { var searchFolders = new List <int> { MailFolder.Ids.inbox, MailFolder.Ids.sent }; var selectChainedMails = GetQueryForChainMessagesSelection(chainInfo.mailbox, chainInfo.id, searchFolders); var crmDal = new CrmHistoryDal(tenant, user); var linkingMessages = db.ExecuteList(selectChainedMails) .ConvertAll(record => { var item = GetMailInfo(db, tenant, user, Convert.ToInt32(record[0]), true, true); item.LinkedCrmEntityIds = contactIds; return(item); }); foreach (var message in linkingMessages) { try { crmDal.AddRelationshipEvents(message); } catch (ApiHelperException ex) { if (!ex.Message.Equals("Already exists")) { throw; } } } }
private void AddChainMailsToCrmHistory(DbManager db, ChainInfo chainInfo, int tenant, string user, List <CrmContactEntity> contactIds) { var searchFolders = new List <int> { MailFolder.Ids.inbox, MailFolder.Ids.sent }; var selectChainedMails = GetQueryForChainMessagesSelection(chainInfo.mailbox, chainInfo.id, searchFolders); var crmDal = new CrmHistoryDal(tenant, user); db.ExecuteList(selectChainedMails) .ConvertAll(record => { var item = GetMailInfo(db, tenant, user, Convert.ToInt32(record[0]), true, true); item.LinkedCrmEntityIds = contactIds; return(item); }) .ForEach(crmDal.AddRelationshipEvents); }
public void ExportMessageToCrm(int id_message, IEnumerable <CrmContactEntity> crm_contact_ids) { if (id_message < 0) { throw new ArgumentException(@"Invalid message id", "id_message"); } if (crm_contact_ids == null) { throw new ArgumentException(@"Invalid contact ids list", "crm_contact_ids"); } var messageItem = MailBoxManager.GetMailInfo(TenantId, Username, id_message, true, true); messageItem.LinkedCrmEntityIds = crm_contact_ids.ToList(); var crmDal = new CrmHistoryDal(TenantId, Username); crmDal.AddRelationshipEvents(messageItem); }