Пример #1
0
        private EventNotifyDto CreateNotify()
        {
            var dto = new EventNotifyDto
            {
                Target         = NotifyTargetType.BizSystem,
                TargetId       = msg.SystemId,
                TargetCategory = msg.Category,
                Created        = DateTimeOffset.UtcNow,
                Title          = bizSystem.Name
            };

            if (string.IsNullOrEmpty(msg.Content) && bizSystem.PatternOfCategory.ContainsKey(msg.Category))
            {
                dto.Text = CreateTextFromPattern(bizSystem.PatternOfCategory[msg.Category], msg.Parameters);
            }
            else
            {
                dto.Text       = msg.Content;
                dto.Parameters = msg.Parameters;
            }
            return(dto);
        }
Пример #2
0
        public async Task PushEventNotifyAsync(EventNotifyDto dto)
        {
            var listConnectionIdsWrap = await StateManager.TryGetStateAsync <List <string> >(ConnectionIdListPropertyName);

            if (listConnectionIdsWrap.HasValue && listConnectionIdsWrap.Value.Count > 0)
            {
                await ActorService.EventBus.Send(new SendEventNotify
                {
                    UserId   = this.GetActorId().GetGuidId(),
                    Notifies = new List <EventNotifyDto> {
                        dto
                    }
                });
            }
            else
            {
                var listPushNotify = await StateManager.GetOrAddStateAsync(
                    EventListPropertyName, new List <EventNotifyDto>());

                listPushNotify.Add(dto);
                await StateManager.SetStateAsync(EventListPropertyName, listPushNotify);
            }
        }