Esempio n. 1
0
        public Thread CreateThread(string business_id, string thread_id, Message message, bool real_time_update)
        {
            var thread = GetById(business_id, thread_id);

            if (thread == null)
            {
                thread = new Domain.Entities.Thread
                {
                    id           = thread_id,
                    owner_id     = message.sender_ext_id == message.channel_ext_id ? message.recipient_id : message.sender_id,
                    owner_ext_id = message.sender_ext_id == message.channel_ext_id ? message.recipient_ext_id : message.sender_ext_id,
                    owner_avatar = message.sender_ext_id == message.channel_ext_id ? message.recipient_avatar : message.sender_avatar,
                    owner_name   = message.sender_ext_id == message.channel_ext_id ? message.recipient_name : message.sender_name
                };
            }
            return(CreateThread(business_id, thread, message, real_time_update));
        }
Esempio n. 2
0
        public bool CreateThread(Domain.Entities.Thread thread, bool real_time_update)
        {
            var rs = _threadRepository.Upsert(thread.business_id, thread);

            if (real_time_update)
            {
                try
                {
                    CopyThreadToRealTimeDB(thread.business_id, thread);
                }
                catch
                {
                    BackgroundJob.Enqueue <ThreadService>(x => x.CopyThreadToRealTimeDB(thread.business_id, thread.id, thread.timestamp));
                }
            }
            if (rs > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }