public void addToTopic(IEnumerable <int> tagIds, IEnumerable <int> contactIds, int userId, int accountId) { if (tagIds.Any() && contactIds.Any()) { foreach (var tagId in tagIds) { var messages = new List <TrackMessage>(); foreach (var contactId in contactIds) { var message = new TrackMessage() { EntityId = tagId, AccountId = accountId, ContactId = contactId, UserId = userId, LeadScoreConditionType = (int)LeadScoreConditionType.ContactTagAdded, LinkedEntityId = tagId }; messages.Add(message); } messageService.SendMessages(new Messaging.Messages.SendMessagesRequest() { Messages = messages }); } } }
private TrackMessage convertTrack(Track track) { var message = new TrackMessage(); message.Coords.AddRange(track.Select(x => convertCoord(x))); return(message); }
private Track convertTrack(TrackMessage message) { return(new Track() { Coords = message.Coords.Select(x => convertCoord(x)).ToList() }); }
void scheduleMessage(Message message) { TrackMessage newMessage = new TrackMessage(); newMessage.LeadScoreConditionType = (int)LeadScoreConditionType.TriggerWorkflow; newMessage.AccountId = message.AccountId; newMessage.ContactId = message.ContactId; newMessage.EntityId = EntityId; messageService.SendMessages(new ApplicationServices.Messaging.Messages.SendMessagesRequest() { Message = newMessage }); }
private Message ToMessage(TrackMessage trackMessage, int workflowId) { return(new Message { MessageId = trackMessage.MessageID.ToString(), EntityId = trackMessage.EntityId, UserId = trackMessage.UserId, LeadScoreConditionType = trackMessage.LeadScoreConditionType, ContactId = trackMessage.ContactId, AccountId = trackMessage.AccountId, LinkedEntityId = trackMessage.LinkedEntityId, ConditionValue = trackMessage.ConditionValue, WorkflowId = workflowId }); }
void addToTopic(Note note, int accountId) { if (note.Tags.Count > 0) { foreach (var contact in note.Contacts) { foreach (var tag in note.Tags.Where(t => t.Id > 0)) { //new message for each contact and tag. var message = new TrackMessage() { EntityId = note.Id, AccountId = accountId, ContactId = contact.Id, UserId = note.CreatedBy, LeadScoreConditionType = (int)LeadScoreConditionType.ContactNoteTagAdded, LinkedEntityId = tag.Id }; messageService.SendMessages(new Messaging.Messages.SendMessagesRequest() { Message = message }); } } } if (note.Contacts.IsAny()) { foreach (var contact in note.Contacts) { //new message for each contact with NoteCategory var message = new TrackMessage() { EntityId = note.Id, AccountId = accountId, ContactId = contact.Id, UserId = note.CreatedBy, LeadScoreConditionType = (int)LeadScoreConditionType.ContactNoteCategoryAdded, LinkedEntityId = note.NoteCategory }; messageService.SendMessages(new Messaging.Messages.SendMessagesRequest() { Message = message }); } } }
/// <summary> /// Add to topic(web page view) /// </summary> /// <param name="trackingDomain"></param> /// <param name="webVisitId"></param> /// <param name="contactId"></param> /// <param name="accountId"></param> /// <param name="visitType"></param> void addToTopic(int duration, int webVisitId, int contactId, int accountId, LeadScoreConditionType visitType, string webPage) { var message = new TrackMessage() { EntityId = webVisitId, AccountId = accountId, ContactId = contactId, LeadScoreConditionType = (byte)visitType, LinkedEntityId = duration, ConditionValue = webPage, }; messageService.SendMessages(new Messaging.Messages.SendMessagesRequest() { Message = message }); }
private void addToTopic(int contactId, int accountId, int score) { if (contactId != 0 && accountId != 0 && score != 0) { var message = new TrackMessage() { AccountId = accountId, ContactId = contactId, LeadScoreConditionType = (int)LeadScoreConditionType.LeadscoreReached, EntityId = score, LinkedEntityId = 0, UserId = 0 }; messageService.SendMessages(new SendMessagesRequest() { Message = message }); } }
public void addLeadAdapterToTopic(int leadadapterid, IEnumerable <int> contactIds, int accountId) { var messages = new List <TrackMessage>(); foreach (var contactId in contactIds) { var message = new TrackMessage() { EntityId = leadadapterid, AccountId = accountId, ContactId = contactId, LeadScoreConditionType = (int)LeadScoreConditionType.LeadAdapterSubmitted, }; messages.Add(message); } messageService.SendMessages(new Messaging.Messages.SendMessagesRequest() { Messages = messages }); }
//For workflow Add/Remove void addToTopic(int tagId, int accountId, int contactId, int createdBy, bool isAddTag) { if (tagId != 0 && accountId != 0) { //new message for each contact and tag. byte conditionTypeId = isAddTag ? (byte)LeadScoreConditionType.ContactTagAdded : (byte)LeadScoreConditionType.ContactTagRemoved; var message = new TrackMessage() { EntityId = tagId, AccountId = accountId, ContactId = contactId, UserId = createdBy, LeadScoreConditionType = conditionTypeId, LinkedEntityId = tagId }; messageService.SendMessages(new Messaging.Messages.SendMessagesRequest() { Message = message }); } }
void addToTopic(int opportunityId, int accountId, IEnumerable <int> contactIds, short stageId) { if (opportunityId != 0 && accountId != 0 && contactIds.Any()) { var messages = new List <TrackMessage>(); foreach (var contactId in contactIds) { var message = new TrackMessage() { EntityId = stageId, ContactId = contactId, AccountId = accountId, LeadScoreConditionType = (int)LeadScoreConditionType.OpportunityStatusChanged, LinkedEntityId = opportunityId }; messages.Add(message); } messageService.SendMessages(new Messaging.Messages.SendMessagesRequest() { Messages = messages }); } }