Esempio n. 1
0
        private void AppService_OnNewOffer(Core.Models.Offer offer)
        {
            log.Trace("New offer event");
            var config = Config;

            if (config.OnlyShowOffersOfCurrentLeague && config.CurrentLeague != offer.League)
            {
                return;
            }

            if (!offer.IsOutgoing)
            {
                AudioService.Instance.PlayNotif1();
            }

            App.Current.Dispatcher.Invoke(delegate {
                if (!offer.IsOutgoing)
                {
                    if (Offers.Count >= 8)
                    {
                        OverflowOffers.Enqueue(new Offer(offer));
                    }
                    else
                    {
                        Offers.Add(new Offer(offer));
                    }
                }
                else
                {
                    if (OutgoingOffers.Count >= 8)
                    {
                        var buffer = OutgoingOffers.ToList();
                        OverflowOutgoingOffers.Enqueue(buffer.Last());
                        buffer.RemoveAt(buffer.Count - 1);
                        OutgoingOffers.Clear();
                        buffer.ForEach(o => OutgoingOffers.Add(o));
                        OutgoingOffers.Add(new Offer(offer));
                        ReorderOutgoingOffers();
                    }
                    else
                    {
                        OutgoingOffers.Add(new Offer(offer));
                        ReorderOutgoingOffers();
                    }
                }

                OnPropertyChanged("IsOffersFilterVisible");
                OnPropertyChanged("IsOutgoingOffersFilterVisible");
            });
        }
Esempio n. 2
0
 public Offer(Core.Models.Offer offer)
 {
     this.Id                = offer.Id;
     this.ItemName          = offer.ItemName;
     this.EscapedName       = offer.EscapedName;
     this.PlayerName        = offer.PlayerName;
     this.Time              = offer.Time;
     this.Currency          = offer.Currency;
     this.CurrencyImageLink = offer.CurrencyImageLink;
     this.Price             = offer.Price;
     this.League            = offer.League;
     this.IsOutgoing        = offer.IsOutgoing;
     StashTab               = offer.StashTab;
     Position               = offer.Position;
     Notes = offer.Notes;
 }