public ChatController( IChatRecordService chatRecordService, IRabbitManager rabbitManager, ICacheManager cacheManager, IOfflineMessageService offlineMessageService ) { _chatRecordService = chatRecordService; _rabbitManager = rabbitManager; _cacheManager = cacheManager; _offlineMessageService = offlineMessageService; }
public Task StartAsync(CancellationToken cancellationToken) { _offlineMessageService = _serviceProvider.CreateScope().ServiceProvider.GetRequiredService <IOfflineMessageService>(); _rabbitManager.Receiver("Cat.IM.OfflineMessage", x => { var offlineMessage = new OfflineMessage { Id = Guid.Parse(x.Chat.Info.Id), Body = x.Chat.Body, Sender = Guid.Parse(x.Chat.Info.Sender), Receiver = Guid.Parse(x.Chat.Info.Receiver), SendOn = Convert.ToDateTime(x.Chat.Info.SendOn), Type = x.Type }; _offlineMessageService.Add(offlineMessage); }, "Cat.IM.OfflineMessage"); return(Task.CompletedTask); }