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)); }
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); } }