Пример #1
0
 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
             });
         }
     }
 }
Пример #2
0
        private TrackMessage convertTrack(Track track)
        {
            var message = new TrackMessage();

            message.Coords.AddRange(track.Select(x => convertCoord(x)));
            return(message);
        }
Пример #3
0
 private Track convertTrack(TrackMessage message)
 {
     return(new Track()
     {
         Coords = message.Coords.Select(x => convertCoord(x)).ToList()
     });
 }
Пример #4
0
        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
            });
        }
Пример #5
0
 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
     });
 }
Пример #6
0
        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
                    });
                }
            }
        }
Пример #7
0
        /// <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
            });
        }
Пример #8
0
 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
         });
     }
 }
Пример #9
0
        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
            });
        }
Пример #10
0
 //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
         });
     }
 }
Пример #11
0
 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
         });
     }
 }