Exemplo n.º 1
0
        protected override void OnInitialize()
        {
            base.OnInitialize();
            AddressSelector.Init();
            AddressSelector.Description = "Все накладные";

            Bus.Listen <string>("reload").Cast <object>()
            .Merge(DbReloadToken)
            .Merge(StatusFilter.FilterChanged())
            .Merge(AddressSelector.FilterChanged.Cast <object>())
            .Merge(OnlyRejected.Changed())
            .SelectMany(_ => RxQuery(x => {
                var query = x.Query <Stock>().Where(y => y.Quantity != 0 || y.ReservedQuantity != 0);
                if (StatusFilter.IsFiltred())
                {
                    var values = StatusFilter.GetValues();
                    query      = query.Where(y => values.Contains(y.Status));
                }
                if (OnlyRejected.Value)
                {
                    query = query.Where(r => r.RejectStatus == RejectStatus.Defective || r.RejectStatus == RejectStatus.Perhaps);
                }
                var addresses = AddressSelector.GetActiveFilter().Select(y => y.Id);
                query         = query.Where(y => addresses.Contains(y.Address.Id));
                return(query.Fetch(y => y.Address).OrderBy(y => y.Product).ToList());
            }))
            .Subscribe(Items, CloseCancellation.Token);
        }
Exemplo n.º 2
0
 public SearchBehavior(Env env)
 {
     SearchText       = new NotifyValue <string>();
     ActiveSearchTerm = new NotifyValue <string>();
     dispose          = SearchText.Changed()
                        .Throttle(Consts.SearchTimeout, env.Scheduler)
                        .ObserveOn(env.UiScheduler)
                        .Subscribe(_ => Search());
 }
Exemplo n.º 3
0
        protected override void OnInitialize()
        {
            base.OnInitialize();

            DbReloadToken
            .Merge(Begin.Changed())
            .Merge(End.Changed())
            .Merge(IsNotOverdue.Changed())
            .Merge(IsOverdue.Changed())
            .SelectMany(_ => RxQuery(LoadItems))
            .Subscribe(Items);
        }
Exemplo n.º 4
0
        protected override void OnInitialize()
        {
            base.OnInitialize();
            RxQuery(CalcLinks).Subscribe(Link);

            Link.Changed()
            .Merge(Begin.Changed())
            .Merge(End.Changed())
            .Merge(IsPerhaps.Changed())
            .Merge(IsDefective.Changed())
            .SelectMany(_ => RxQuery(LoadItems))
            .Subscribe(Items);
        }
Exemplo n.º 5
0
        public void Update_value_with_fallback()
        {
            var depended = new NotifyValue <int>(5);
            var v        = new NotifyValue <int>(true, () => depended + 1, depended);
            var changed  = v.Value;

            v.Changed().Subscribe(_ => changed = v.Value);

            depended.Value += 5;
            depended.Value += 5;
            Assert.AreEqual(v.Value, 16);
            Assert.AreEqual(changed, 16);
        }
Exemplo n.º 6
0
 public AddWaybillLineFromCatalog()
 {
     InitFields();
     DisplayName       = "Добавление из каталога";
     CurrentCatalog    = new NotifyValue <Catalog>();
     CatalogTerm       = new NotifyValue <string>();
     ProducerTerm      = new NotifyValue <string>();
     CurrentProducer   = new NotifyValue <Producer>();
     WasCancelled      = true;
     IsOkEnabled.Value = false;
     CurrentCatalog.Changed()
     .Merge(CurrentProducer.Changed())
     .Merge(SupplierCost.Changed())
     .Merge(Quantity.Changed())
     .Subscribe(_ => IsOkEnabled.Value = CurrentCatalog.Value != null && CurrentProducer.Value != null && SupplierCost.Value > 0 && Quantity.Value > 0);
 }
Exemplo n.º 7
0
        public void Notify_value_with_fallback()
        {
            var depended = new NotifyValue <int>(5);
            var v        = new NotifyValue <int>(true, () => depended + 1, depended);
            var changed  = v.Value;

            v.Changed().Subscribe(_ => changed = v.Value);
            Assert.AreEqual(6, v.Value);
            depended.Value = 7;
            Assert.AreEqual(8, v.Value);
            Assert.AreEqual(8, changed);
            v.Value = 1;
            Assert.AreEqual(1, v.Value);
            Assert.AreEqual(1, changed);
            depended.Value = 50;
            Assert.AreEqual(1, v.Value);
            Assert.AreEqual(1, changed);
        }