Exemplo n.º 1
0
        public void NotifyStockChange(IEnumerable <StockInfoArticle> articles)
        {
            StockInfoMessage message = this.CreateMessage(articles);

            this.SendMessage(message,
                             () =>
            {
                this.Dialog.SendMessage(message);
            });
        }
Exemplo n.º 2
0
        public Task NotifyStockChangeAsync(IEnumerable <StockInfoArticle> articles, CancellationToken cancellationToken = default)
        {
            StockInfoMessage message = this.CreateMessage(articles);

            return(this.SendMessageAsync(message,
                                         () =>
            {
                return this.Dialog.SendMessageAsync(message, cancellationToken);
            }));
        }
Exemplo n.º 3
0
        private void Dialog_MessageReceived(Object sender, MessageReceivedEventArgs <StockInfoMessage> e)
        {
            StockInfoMessage message = e.Message;

            this.OnMessageReceived(message,
                                   () =>
            {
                this.StockChanged?.Invoke(this, e);
            });
        }
        public void SendStockInfoMessage(string productID)
        {
            // send a StockInfoMessage to every PMR conencted  for there related tenant stock.
            foreach (IConverterStream stream in this.converterStreamList)
            {
                StockInfoMessage stockInfoMessage = new StockInfoMessage(stream)
                {
                    ID            = MessageId.Next,
                    TenantID      = stream.TenantID,
                    Source        = 999, // 999 is Mosaic
                    Destination   = 100,
                    StockInfoType = StockInfoType.StockUpdate
                };

                StockProduct stockProduct = this.stock.GetStockProduct(productID);
                stockInfoMessage.Packs.AddRange(stockProduct.GetPackList(stream.TenantID));
                stockInfoMessage.Articles.AddRange(this.BuildArticleList(stockInfoMessage.Packs, true));

                stream.Write(stockInfoMessage);
            }
        }
Exemplo n.º 5
0
 protected void OnMessageReceived(StockInfoMessage message)
 {
     this.MessageReceived?.Invoke(this, new MessageReceivedEventArgs <StockInfoMessage>(message, this.DialogProvider));
 }
Exemplo n.º 6
0
 public Task SendMessageAsync(StockInfoMessage message, CancellationToken cancellationToken = default)
 {
     return(base.SendMessageAsync(message, cancellationToken));
 }
Exemplo n.º 7
0
 public void SendMessage(StockInfoMessage message)
 {
     base.SendMessage(message);
 }