Esempio n. 1
0
        public void OverrideDefaultScheduler()
        {
            // Arrange
            var binder             = Create.Binder(_viewModel, Scheduler.Default);
            var observableThreadId = 0;
            var observable         = Observable.Create <int>(o =>
            {
                observableThreadId = Thread.CurrentThread.ManagedThreadId;
                o.OnNext(5);
                return(Disposable.Empty);
            }).SubscribeOn(NewThreadScheduler.Default);

            var subscriptionThreadId = 0;

            binder.Observe(observable)
            .ObserveOn(Scheduler.CurrentThread)     // CurrentThread means observable's thread
            .Subscribe(x => subscriptionThreadId = Thread.CurrentThread.ManagedThreadId);

            // Act
            ConditionalWait.WaitFor(() => subscriptionThreadId > 0);

            // Assert
            Assert.That(subscriptionThreadId, Is.EqualTo(observableThreadId),
                        "Expected subscribed action to run on same thread as the observable.");
        }
Esempio n. 2
0
        private async void OrderReviewView_Load(object sender, EventArgs e)
        {
            viewModel.Load.Execute(null);
            await Task.Run(() => { while (pictureBox_loading.Enabled)
                                   {
                                       ;
                                   }
                           });

            Action <bool> callback = Dispose;

            Create.Binder(viewModel).Control(lbl_affiliate).Property(txt => txt.Text).Get(vm => vm.Affiliate)
            .Control(groupBox_info).Property(gbx => gbx.Text).Get(vm => vm.OrderNo)
            .Control(lbl_customer).Property(txt => txt.Text).Get(vm => vm.CustomerName)
            .Control(lbl_date).Property(txt => txt.Text).Get(vm => vm.Date)
            .Control(lbl_email).Property(txt => txt.Text).Get(vm => vm.CustomerEmail)
            .Control(lbl_group).Property(txt => txt.Text).Get(vm => vm.CustomerGroup)
            .Control(lbl_invoice).Property(txt => txt.Text).Get(vm => vm.Invoice)
            .Control(lbl_paymentInfo).Property(txt => txt.Text).Get(vm => vm.PaymentInfo)
            .Control(lbl_phone).Property(txt => txt.Text).Get(vm => vm.CustomerTelephone)
            .Control(lbl_reward).Property(txt => txt.Text).Get(vm => vm.Reward)
            .Control(lbl_shippingInfo).Property(txt => txt.Text).Get(vm => vm.ShippingInfo)
            .Control(lbl_store).Property(txt => txt.Text).Get(vm => vm.Store)
            .Control(lbl_payment).Property(txt => txt.Text).Get(vm => vm.PaymentMethod)
            .Control(lbl_shipping).Property(txt => txt.Text).Get(vm => vm.ShippingMethod)
            .Control(lbl_totals).Property(txt => txt.Text).Get(vm => vm.Totals)
            .Control(lstVw_products).Property(lst => lst.DataSource).Get(vm => vm.Products)
            .Control(chkbx_email).Property(chk => chk.Checked).Bind(vm => vm.SendMail)
            .Control(chkbx_ticket).Property(chk => chk.Checked).Bind(vm => vm.PrintTicket)
            .Control(btn_backTo).OnClick(viewModel.BackTo, callback)
            .Control(btn_save).OnClick(viewModel.Save);
        }
Esempio n. 3
0
        public void OverrideDefaultScheduler()
        {
            // Arrange
            var    binder           = Create.Binder(_viewModel, Scheduler.Default);
            Thread observableThread = null;
            var    task             = new Task <int>(() =>
            {
                observableThread = Thread.CurrentThread;
                return(5);
            });

            Thread actionThread = null;

            binder.Observe(task.ToObservable())
            .ObserveOn(Scheduler.CurrentThread)
            .Subscribe(x => actionThread = Thread.CurrentThread);

            // Act
            task.Start();

            ConditionalWait.WaitFor(() => actionThread != null);

            // Assert
            Assert.That(actionThread.ManagedThreadId, Is.EqualTo(observableThread.ManagedThreadId),
                        "Expected subscription action to run on same thread as observable.");
        }
Esempio n. 4
0
 public void BeforeEach()
 {
     _viewModel = new TestViewModel();
     _command   = new TestCommand(_viewModel);
     _button    = new TestButton();
     _binder    = Create.Binder(_viewModel);
 }
        public void BindViewModel(ISettings settings)
        {
            var viewModel = new SettingsViewModel(settings);

            Create.Binder(viewModel)
            .Control(fileInpt_template).Property(fileInput => fileInput.Text).Bind(vm => vm.TemplateFile)
            .Control(chckBx_saveFile).Property(chckbx => chckbx.Checked).Bind(vm => vm.SaveFiles)
            .OnPropertyChanged(vm => vm.SaveFiles).Subscribe(b => folderInput_dir.Enabled = b)
            .Control(folderInput_dir).Property(fldrInpt => fldrInpt.Text).Bind(vm => vm.FolderToSave)
            .Control(txtBx_nItems).Property(txtBx => txtBx.Text).Bind(vm => vm.ItemsPerPage)
            .Control(chckBx_proxy).Property(chckBx => chckBx.Checked).Bind(vm => vm.UseProxy)
            .OnPropertyChanged(vm => vm.UseProxy).Subscribe(v => prgrssBr_minutes.Enabled = btn_moreMinutes.Enabled = btn_lessMinutes.Enabled = v)
            .Control(prgrssBr_minutes).Property(pgrsBr => pgrsBr.Value).Bind(vm => vm.ProxyTime)
            .Control(lbl_minutes).Property(lbl => lbl.Text).Bind(vm => vm.Minutes)
            .Control(txtBx_APIusr).Property(txtBx => txtBx.Text).Bind(vm => vm.APIusr)
            .Control(txtBx_APIkey).Property(txtBx => txtBx.Text).Bind(vm => vm.APIpwd)
            .Control(txtBx_APIHost).Property(txtBx => txtBx.Text).Bind(vm => vm.APIHost)
            .Control(txtBx_mailHost).Property(txtbx => txtbx.Text).Bind(vm => vm.Host)
            .Control(txtBx_mailPort).Property(txtbx => txtbx.Text).Bind(vm => vm.Port)
            .Control(txtBx_mailEmail).Property(txtbx => txtbx.Text).Bind(vm => vm.Email)
            .Control(txtBx_mailPwd).Property(txtBx => txtBx.Text).Bind(vm => vm.EmailPWD)
            .Control(txtBx_mailSubject).Property(txtBx => txtBx.Text).Bind(vm => vm.Subject)
            .Control(txtBx_mailMsg).Property(txtbx => txtbx.Text).Bind(vm => vm.BodyEmail)
            .Control(lbl_updateMsg).Property(lbl => lbl.Text).Bind(vm => vm.UpdateMessage)
            .OnPropertyChanged(vm => vm.Message).Subscribe(txt => Message(txt))
            .Control(lbl_msg).Property(lbl => lbl.Text).Get(vm => vm.Message)
            // Events
            .Control(this).OnEvent("Load").Execute(viewModel.Load)
            .Control(btn_importConfig).OnClick(viewModel.ImportConfigFile, openFileDialog_import.FileName)
            .Control(btn_exportConfig).OnClick(viewModel.ExportConfigFile, saveFileDialog_export.FileName)
            .Control(btn_lessMinutes).OnClick(viewModel.LessMinutes, prgrssBr_minutes.Step)
            .Control(btn_moreMinutes).OnClick(viewModel.AddMinutes, prgrssBr_minutes.Step)
            .Control(btn_updates).OnClick(viewModel.CheckUpdates)
            .Control(btn_save).OnClick(viewModel.Save);
        }
Esempio n. 6
0
 public void BeforeEach()
 {
     _viewModel   = new TestViewModel();
     _binder      = Create.Binder(_viewModel);
     _userControl = new PropertyGrid();
     _userControl.CreateControl();
 }
Esempio n. 7
0
 public void BeforeEach()
 {
     _viewModel = new TestViewModel();
     _textBox   = new TextBox();
     _target    = new TestTarget();
     _binder    = Create.Binder(_viewModel);
 }
Esempio n. 8
0
 public void BeforeEach()
 {
     _viewModel = new TestViewModel();
     _command   = new TestCommand(_viewModel);
     _binder    = Create.Binder(_viewModel);
     _control   = new TestControl();
     _invoker   = new TestInvoker();
     Invoker.Override(_invoker);
 }
Esempio n. 9
0
 private void BindViewModel(AppMainViewModel viewModel)
 {
     Messenger.Instance.Register <IView>(this, (view) => viewModel.ShowView(view as UserControl, panel_controls));
     Create.Binder(viewModel)
     .Control(materialFlatButton_orders).OnClick(viewModel.Orders, panel_controls)
     .Control(materialFlatButton_products).OnClick(viewModel.Stock, panel_controls)
     .Control(materialFlatButton_customers).OnClick(viewModel.Customers, panel_controls)
     .Control(materialFlatButton_settings).OnClick(viewModel.Settings, panel_controls);
 }
 private void ProductGeneralView_Load(object sender, EventArgs e)
 {
     LoadView?.Invoke(sender, e);
     Create.Binder(this.vm)
     .Control(txtBx_productName).Property(txtBx => txtBx.Text).Bind(vm => vm.ProductName)
     .Control(txtBx_metatagTitle).Property(txtBx => txtBx.Text).Bind(vm => vm.MetatagTitle)
     .Control(txtBx_metaTagDesc).Property(txtBx => txtBx.Text).Bind(vm => vm.MetatagDescription)
     .Control(txtBx_metaTagKeyWords).Property(txtBx => txtBx.Text).Bind(vm => vm.MetatagKeywords)
     .Control(txtBx_Tags).Property(txtBx => txtBx.Text).Bind(vm => vm.Tags);
     HTMLwysiwyg_description.setHTML(vm.Description);
     HTMLwysiwyg_description.BodyChanged += HTMLwysiwyg_description_BodyChanged;
 }
Esempio n. 11
0
        public void ChainingFromControl()
        {
            // Arrange
            var viewModel = new TestViewModel();
            var control   = new TestControl();
            var binder    = Create.Binder(viewModel);

            // Act
            binder.Control(control).OnClick().Subscribe(e => { var a = 1; })
            .Target(control).Property(c => c.Text).Get(vm => vm.StringValue)
            .Control(control).Property(c => c.Top).Get(vm => vm.IntValue);
        }
Esempio n. 12
0
        private void LoginForm_Load(object sender, System.EventArgs e)
        {
            var loginViewModel = new LoginViewModel(this);

            Create.Binder(loginViewModel)
            .Control(txtBx_username).Property(txtBx => txtBx.Text).Bind(vm => vm.Username)
            .Control(txtBx_key).Property(txtBx => txtBx.Text).Bind(vm => vm.Key)
            .Control(txtBx_url).Property(txtBx => txtBx.Text).Bind(vm => vm.URL)
            .Control(lbl_version).Property(lbl => lbl.Text).Get(vm => vm.Version)
            .Control(lbl_msg).Property(lbl => lbl.Text).Get(vm => vm.Message)
            .Control(btn_login).OnClick(loginViewModel.Login);
        }
Esempio n. 13
0
        public override void PerformBinding()
        {
            AuctionViewModel viewModel = Program.Locator.AuctionViewModel;

            //BindingManager.For(this)
            //  .Bind(offerModelBindingSource, _ => _.DataSource)
            //.To(viewModel, vm => vm.api.offers)
            //.Setup(configuration => configuration.IsTwoWay = true)
            //.Setup(configuration => configuration.UpdateSourceTrigger = UpdateSourceType.OnPropertyChanged);

            //BindingManager.For(this)
            //  .Bind(userModelBindingSource, _ => _.DataSource)
            //  .To(viewModel, vm => vm.api.user)
            // .Setup(configuration => configuration.IsTwoWay = true)
            // .Setup(configuration => configuration.UpdateSourceTrigger = UpdateSourceType.OnPropertyChanged);

            //BindingManager.For(this).BindCommand(button1).To(viewModel, _ => _.AddBidCommand);


            var binder = Create.Binder(viewModel);

            //user
            binder.Control(tbSID).Property(c => c.Text).Bind(vm => vm.api.user.SID);
            binder.Control(tbCredits).Property(c => c.Text).Bind(vm => vm.api.user.credits);
            binder.Control(tbServer).Property(c => c.Text).Bind(vm => vm.api.user.server);

            //offers
            binder.Control(cbOffers).Property(c => c.DataSource).Bind(vm => vm.api.offers);
            binder.Control(cbOffers).Property(c => c.SelectedValue).Bind(vm => vm.SelectedItemOffer);
            binder.Control(lbHighest).Property(c => c.Text).Bind(vm => vm.SelectedItemOffer.highest);
            binder.Control(lbCurrentBid).Property(c => c.Text).Bind(vm => vm.SelectedItemOffer.currentBid);
            binder.Control(lbYouBid).Property(c => c.Text).Bind(vm => vm.SelectedItemOffer.youBid);

            //new bid
            binder.Control(tbNewBid).Property(c => c.Text).Set(vm => vm.NewBid);
            binder.Control(tbTimeBid).Property(c => c.Text).Set(vm => vm.Time);
            binder.Control(button1).OnClick(viewModel.AddBidCommand);

            //viewGrid
            binder.Control(gvBids).Property(c => c.Rows).Set(vm => vm.DataGridViewCollection);
            binder.Control(gvBids).Property(c => c.DataSource).Bind(vm => vm.BidDataSource);

            //time
            //binder.Control(tbTime).Property(c => c.Text).Bind(vm => vm.CurrentTimeServer);
        }
Esempio n. 14
0
        public override void PerformBinding()
        {
            LoginViewModel ViewModel = Program.Locator.LoginViewModel;

            var binder = Create.Binder(ViewModel);

            // Two-way binding
            binder.Control(tbSID).Property(c => c.Text).Bind(vm => vm.SID);
            // Two-way binding
            binder.Control(tbServer).Property(c => c.Text).Bind(vm => vm.Server);
            // Two-way binding
            binder.Control(tbLogin).Property(c => c.Text).Bind(vm => vm.Login);
            // Two-way binding
            binder.Control(tbSenha).Property(c => c.Text).Bind(vm => vm.Password);

            binder.Control(button1).OnClick().Execute(ViewModel.WBCommand);
            binder.Control(button2).OnClick(ViewModel.LoginCommand);
        }
Esempio n. 15
0
        private void InitializeAttributes()
        {
            Action <bool> callback = Dispose;

            // Data Binding
            Create.Binder(presenter.ViewModel)
            .Control(this).OnEvent("Load").Execute(presenter.ViewModel.Load)
            // Shared
            .Control(cmbBx_zones).Property(cmb => cmb.DataSource).Get(vm => vm.Zones)
            .Control(cmbBx_countries).Property(cmb => cmb.DataSource).Get(vm => vm.Countries)
            .Control(cmbBx_groupCustomers).Property(cmb => cmb.DataSource).Get(vm => vm.CustomerGroups)
            // Customer
            .Control(cmbBx_groupCustomers).Property(cmb => cmb.SelectedValue).Bind(vm => vm.CustomerGroupID)
            .Control(txtBx_cfirstname).Property(txtbx => txtbx.Text).Bind(vm => vm.CustomerFisrtname)
            .Control(txtBx_clastname).Property(txtbx => txtbx.Text).Bind(vm => vm.CustomerLastname)
            .Control(txtBx_email).Property(txtbx => txtbx.Text).Bind(vm => vm.Email)
            .Control(txtBx_telephone).Property(txtbx => txtbx.Text).Bind(vm => vm.Telephone)
            .Control(toggle_newsletter).Property(chkbx => chkbx.Checked).Bind(vm => vm.Newsletter)
            .Control(toggle_status).Property(chkbx => chkbx.Checked).Bind(vm => vm.Status)
            .Control(toggle_safe).Property(chkbx => chkbx.Checked).Bind(vm => vm.Safe)
            // Address
            .Control(txtBx_afirstname).Property(txtbx => txtbx.Text).Bind(vm => vm.AddressFirstname)
            .Control(txtBx_alastname).Property(txtbx => txtbx.Text).Bind(vm => vm.AddressLastname)
            .Control(txtBx_company).Property(txtbx => txtbx.Text).Bind(vm => vm.Company)
            .Control(txtBx_address1).Property(txtbx => txtbx.Text).Bind(vm => vm.Address_1)
            .Control(txtBx_address2).Property(txtbx => txtbx.Text).Bind(vm => vm.Address_2)
            .Control(txtBx_city).Property(txtbx => txtbx.Text).Bind(vm => vm.City)
            .Control(txtBx_postcode).Property(txtbx => txtbx.Text).Bind(vm => vm.Postcode)
            .Control(cmbBx_countries).Property(cmbx => cmbx.SelectedValue).Bind(vm => vm.CountryID)
            .Control(cmbBx_zones).Property(cmbx => cmbx.SelectedValue).Bind(vm => vm.ZoneID)
            // Events
            .Control(materialFlatButton_backTo).OnClick(presenter.ViewModel.Back, callback)
            .Control(materialFlatButton_save).OnClick(presenter.ViewModel.Save)
            .Control(materialFlatButton_email).OnClick(presenter.ViewModel.SendMail);
            cmbBx_zones.ValueMember            = nameof(Zone.ID);
            cmbBx_zones.DisplayMember          = nameof(Zone.Name);
            cmbBx_countries.ValueMember        = nameof(Country.ID);
            cmbBx_countries.DisplayMember      = nameof(Country.Name);
            cmbBx_groupCustomers.ValueMember   = nameof(CustomerGroup.ID);
            cmbBx_groupCustomers.DisplayMember = nameof(CustomerGroup.Name);
        }
Esempio n. 16
0
        public void SpecifyDefaultScheduler()
        {
            // Arrange
            _binder = Create.Binder(_viewModel);
            var task = new Task <int>(() => 5);

            _viewModel.MyObservable = task.ToObservable();

            var    bindingThread = Thread.CurrentThread;
            Thread actionThread  = null;

            _binder.Observe(_viewModel.MyObservable).Subscribe(x => actionThread = Thread.CurrentThread);

            // Act
            task.Start();
            task.Wait();

            ConditionalWait.WaitFor(() => actionThread != null);

            // Assert
            Assert.That(actionThread, Is.Not.SameAs(bindingThread));
        }
Esempio n. 17
0
 public void BeforeEach()
 {
     _viewModel = new TestViewModel();
     _binder    = Create.Binder(_viewModel);
 }
Esempio n. 18
0
        private async void OrderView_Load(object sender, EventArgs e)
        {
            LoadView?.Invoke(sender, e);
            await Task.Run(() => { while (pictureBox_loading.Enabled)
                                   {
                                       ;
                                   }
                           });

            Create.Binder(presenter.OrderVM)
            .Control(chkbx_sendMail).Property(chk => chk.Checked).Bind(vm => vm.SendEmail);
            // Customer Tab
            Create.Binder(presenter.CustomerTabVM)
            .Control(txtBx_customers).Property(txtbx => txtbx.AutoCompleteCustomSource).Get(vm => vm.Customers)
            .Control(cmbBx_stores).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.Stores)
            .Control(cmbBx_stores).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.Store)
            .Control(cmbBx_currencies).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.Currencies)
            .Control(cmbBx_currencies).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.Currency)
            .Control(cmbBx_customerGroups).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.CustomerGroups)
            .Control(cmbBx_customerGroups).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.CustomerGroupID)
            .Control(txtBx_cFirstname).Property(txtbx => txtbx.Text).Bind(vm => vm.Firstname)
            .Control(txtBx_cLastname).Property(txtbx => txtbx.Text).Bind(vm => vm.Lastname)
            .Control(txtBx_cEmail).Property(txtbx => txtbx.Text).Bind(vm => vm.Email)
            .Control(txtBx_cPhone).Property(txtbx => txtbx.Text).Bind(vm => vm.Telephone)
            .Control(btn_addCustomer).OnClick(presenter.CustomerTabVM.AddCustomer);
            cmbBx_stores.DisplayMember         = nameof(Store.Name);
            cmbBx_currencies.DisplayMember     = nameof(Currency.Title);
            cmbBx_customerGroups.ValueMember   = nameof(CustomerGroup.ID);
            cmbBx_customerGroups.DisplayMember = nameof(CustomerGroup.Name);
            // Products Tab
            Create.Binder(presenter.ProductsTabVM)
            .Control(cmbBx_products).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.Products)
            .Control(txtBx_quantity).Property(txtbx => txtbx.Text).Bind(vm => vm.Quantity)
            .Control(lstVw_products).Property(lstvw => lstvw.DataSource).Get(vm => vm.OrderProducts)
            .Control(btn_addProduct).OnClick(presenter.ProductsTabVM.AddProduct, () => cmbBx_products.SelectedValue)
            .Target(tsmi_delete).OnEvent("Click").Execute(presenter.ProductsTabVM.RmProduct, () =>
            {
                var menu = tsmi_delete.Owner as MaterialContextMenuStrip;
                MaterialListView listView = menu.SourceControl as MaterialListView;
                if (listView.SelectedIndices.Count > 0)
                {
                    return(listView.SelectedItems[0].Tag);
                }

                return(null);
            });
            // Payment Address Tab
            Create.Binder(presenter.PaymentTabVM)
            .Control(cmbBx_paymentMethods).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.PaymentMethods)
            .Control(cmbBx_paymentMethods).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.PaymentMethod)
            .Control(cmbBx_paAddresses).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.Addresses)
            .Control(cmbBx_paAddresses).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.Address)
            .Control(cmbBx_paCountries).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.Countries)
            .Control(cmbBx_paCountries).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.CountryID)
            .Control(cmbBx_paZones).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.Zones)
            .Control(cmbBx_paZones).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.ZoneID)
            .Control(txtBx_paFirstname).Property(txtbx => txtbx.Text).Bind(vm => vm.Firstname)
            .Control(txtBx_paLastname).Property(txtbx => txtbx.Text).Bind(vm => vm.Lastname)
            .Control(txtBx_paCompany).Property(txtbx => txtbx.Text).Bind(vm => vm.Company)
            .Control(txtBx_paAddress1).Property(txtbx => txtbx.Text).Bind(vm => vm.Address1)
            .Control(txtBx_paAddress2).Property(txtbx => txtbx.Text).Bind(vm => vm.Address2)
            .Control(txtBx_paCity).Property(txtbx => txtbx.Text).Bind(vm => vm.City)
            .Control(txtBx_paPostcode).Property(txtbx => txtbx.Text).Bind(vm => vm.Postcode);
            cmbBx_paCountries.ValueMember   = nameof(Country.ID);
            cmbBx_paCountries.DisplayMember = nameof(Country.Name);
            cmbBx_paZones.ValueMember       = nameof(Zone.ID);
            cmbBx_paZones.DisplayMember     = nameof(Zone.Name);
            // Shipping Address Tab
            Create.Binder(presenter.ShippingTabVM)
            .Control(cmbBx_shippingMethods).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.ShippingMethods)
            .Control(cmbBx_shippingMethods).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.ShippingMethod)
            .Control(cmbBx_saAddresses).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.Addresses)
            .Control(cmbBx_saAddresses).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.Address)
            .Control(cmbBx_saCountries).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.Countries)
            .Control(cmbBx_saCountries).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.CountryID)
            .Control(cmbBx_saZones).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.Zones)
            .Control(cmbBx_saZones).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.ZoneID)
            .Control(txtBx_saFirstname).Property(txtbx => txtbx.Text).Bind(vm => vm.Firstname)
            .Control(txtBx_saLastname).Property(txtbx => txtbx.Text).Bind(vm => vm.Lastname)
            .Control(txtBx_saCompany).Property(txtbx => txtbx.Text).Bind(vm => vm.Company)
            .Control(txtBx_saAddress1).Property(txtbx => txtbx.Text).Bind(vm => vm.Address1)
            .Control(txtBx_saAddress2).Property(txtbx => txtbx.Text).Bind(vm => vm.Address2)
            .Control(txtBx_saCity).Property(txtbx => txtbx.Text).Bind(vm => vm.City)
            .Control(txtBx_saPostcode).Property(txtbx => txtbx.Text).Bind(vm => vm.Postcode);
            cmbBx_saCountries.ValueMember   = nameof(Country.ID);
            cmbBx_saCountries.DisplayMember = nameof(Country.Name);
            cmbBx_saZones.ValueMember       = nameof(Zone.ID);
            cmbBx_saZones.DisplayMember     = nameof(Zone.Name);
            // Total Tab
            Create.Binder(presenter.TotalTabVM)
            .Control(cmbBx_orderStatus).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.OrderStatuses)
            .Control(cmbBx_orderStatus).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.Status)
            .Control(lstVw_totalProducts).Property(lst => lst.DataSource).Get(vm => vm.Products)
            .Control(lbl_totals).Property(lbl => lbl.Text).Get(vm => vm.Totals);
            cmbBx_orderStatus.ValueMember   = nameof(OrderStatus.ID);
            cmbBx_orderStatus.DisplayMember = nameof(OrderStatus.Name);
        }
Esempio n. 19
0
        private async void ProductView_Load(object sender, EventArgs e)
        {
            LoadView?.Invoke(sender, e);
            await Task.Run(() => { while (pictureBox_loading.Enabled)
                                   {
                                       ;
                                   }
                           });

            // General Tab
            BuildDescriptionTabs();
            // Data Tab
            Create.Binder(presenter.DataTabVM)
            .Control(cmbBx_taxclass).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.Taxes)
            .Control(cmbBx_lengthClass).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.Lengths)
            .Control(cmbBx_weightClass).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.Weights)
            .Control(cmbBx_stockStatus).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.StockStatuses)
            .Control(txtBx_mpn).Property(txtbx => txtbx.Text).Bind(vm => vm.MPN)
            .Control(txtBx_sku).Property(txtbx => txtbx.Text).Bind(vm => vm.SKU)
            .Control(txtBx_upc).Property(txtbx => txtbx.Text).Bind(vm => vm.UPC)
            .Control(txtBx_ean).Property(txtbx => txtbx.Text).Bind(vm => vm.EAN)
            .Control(txtBx_jan).Property(txtbx => txtbx.Text).Bind(vm => vm.JAN)
            .Control(txtBx_isbn).Property(txtbx => txtbx.Text).Bind(vm => vm.ISBN)
            .Control(txtBx_model).Property(txtbx => txtbx.Text).Bind(vm => vm.Model)
            .Control(txtBx_location).Property(txtbx => txtbx.Text).Bind(vm => vm.Location)
            .Control(txtBx_price).Property(txtbx => txtbx.Text).Bind(vm => vm.Price)
            .Control(chkBx_status).Property(chkbx => chkbx.Checked).Bind(vm => vm.Status)
            .Control(cmbBx_taxclass).Property(cmbBx => cmbBx.SelectedValue).Bind(vm => vm.TaxClass)
            .Control(materialTextField_quantity).Property(txtbx => txtbx.Text).Bind(vm => vm.Quantity)
            .Control(materialTextField_minQuantity).Property(txtbx => txtbx.Text).Bind(vm => vm.MinimumQuantity)
            .Control(chkBx_subtractStock).Property(chkbx => chkbx.Checked).Bind(vm => vm.SubtractStock)
            .Control(cmbBx_stockStatus).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.StockStatus)
            .Control(txtBx_weight).Property(txtbx => txtbx.Text).Bind(vm => vm.Weight)
            .Control(cmbBx_weightClass).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.WeightClass)
            .Control(materialTextField_Length).Property(txtbx => txtbx.Text).Bind(vm => vm.Length)
            .Control(materialTextField_width).Property(txtbx => txtbx.Text).Bind(vm => vm.Width)
            .Control(cmbBx_lengthClass).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.LengthClass)
            .Control(materialCheckBox_shippingRequired).Property(chkBx => chkBx.Checked).Bind(vm => vm.RequireShipping)
            .Control(dateTimePicker_dateAvailable).Property(dtpkr => dtpkr.Value).Bind(vm => vm.ReleaseDate);
            // Links Tab
            Create.Binder(presenter.LinksTabVM)
            .Control(cmbBx_manufacturer).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.Manufacturers)
            .Control(cmbBx_manufacturer).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.Manufacturer);
            ShowLabelsLinkTab();
            // Discount tab
            Create.Binder(presenter.DiscountTabVM)
            .Control(cmbBx_DisGroupCustomer).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.CustomerGroups)
            .Control(cmbBx_DisGroupCustomer).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.Discount.CustomerGroupID)
            .Control(txtBx_discountQuantity).Property(txtbx => txtbx.Text).Bind(vm => vm.Discount.Quantity)
            .Control(txtBx_discountPriority).Property(txtbx => txtbx.Text).Bind(vm => vm.Discount.Priority)
            .Control(txtBx_discountPrice).Property(txtbx => txtbx.Text).Bind(vm => vm.Discount.Price)
            .Control(dateTimePicker_discountDateEnd).Property(date => date.Value).Bind(vm => vm.Discount.DateStart)
            .Control(dateTimePicker_discountDateStart).Property(date => date.Value).Bind(vm => vm.Discount.DateEnd)
            .Control(btn_addDiscount).OnClick(presenter.DiscountTabVM.AddDiscount)
            .Control(lstView_discounts).Property(lv => lv.DataSource).Get(vm => vm.Discounts);
            tsmi_rmDiscount.Click += Tsmi_removeDiscount_Click;
            // Special tab
            Create.Binder(presenter.SpecialTabVM)
            .Control(cmbBx_SpecGroupCustomer).Property(cmbbx => cmbbx.DataSource).Get(vm => vm.CustomerGroups)
            .Control(cmbBx_SpecGroupCustomer).Property(cmbbx => cmbbx.SelectedValue).Bind(vm => vm.SpecialOffer.CustomerGroupID)
            .Control(txtBx_specialPrice).Property(txtbx => txtbx.Text).Bind(vm => vm.SpecialOffer.Price)
            .Control(txtBx_specialPriority).Property(txtbx => txtbx.Text).Bind(vm => vm.SpecialOffer.Priority)
            .Control(dateTimePicker_SpecDateStart).Property(date => date.Value).Bind(vm => vm.SpecialOffer.DateStart)
            .Control(dateTimePicker_SpecDateEnd).Property(date => date.Value).Bind(vm => vm.SpecialOffer.DateEnd)
            .Control(btn_addSpecials).OnClick(presenter.SpecialTabVM.AddSpecialOffer)
            .Control(lstView_specials).Property(lv => lv.DataSource).Get(vm => vm.SpecialOffers);
            tsmi_rmSpecial.Click += Tsmi_rmSpecial_Click;
            // Images Tab
            ImagesTabVM_ShowImages();
            presenter.ImagesTabVM.ImageAdded += ImagesTabVM_ImageAdded;
            Create.Binder(presenter.ImagesTabVM)
            .Control(picBx_image).Property(picBx => picBx.ImageLocation).Bind(vm => vm.ImagePortrait)
            .Control(picBx_image).OnClick(presenter.ImagesTabVM.ChangeImg, openFileDialog_Images)
            .Control(btn_addImages).OnClick(presenter.ImagesTabVM.AddImg, openFileDialog_Images)
            .Control(btn_delImg).OnClick(presenter.ImagesTabVM.RmImg)
            .Target(toolStripMenuItem_suprImage).OnEvent("Click").Execute(presenter.ImagesTabVM.RmAdditionalImg, () =>
            {
                var menu       = toolStripMenuItem_suprImage.Owner as MaterialContextMenuStrip;
                PictureBox pic = menu.SourceControl as PictureBox;
                object img     = pic.Tag;
                flowLayoutPanel_aditionalImages.Controls.Remove(pic);
                pic.Dispose();
                return(img);
            });
            cmbBx_taxclass.ValueMember            = nameof(Tax.ID);
            cmbBx_taxclass.DisplayMember          = nameof(Tax.Title);
            cmbBx_weightClass.ValueMember         = nameof(Weight.ID);
            cmbBx_weightClass.DisplayMember       = nameof(Weight.Title);
            cmbBx_lengthClass.ValueMember         = nameof(Length.ID);
            cmbBx_lengthClass.DisplayMember       = nameof(Length.Title);
            cmbBx_stockStatus.ValueMember         = nameof(StockStatus.ID);
            cmbBx_stockStatus.DisplayMember       = nameof(StockStatus.Name);
            cmbBx_manufacturer.ValueMember        = nameof(Manufacturer.ID);
            cmbBx_manufacturer.DisplayMember      = nameof(Manufacturer.Name);
            cmbBx_SpecGroupCustomer.ValueMember   = nameof(CustomerGroup.ID);
            cmbBx_SpecGroupCustomer.DisplayMember = nameof(CustomerGroup.Name);
            cmbBx_DisGroupCustomer.ValueMember    = nameof(CustomerGroup.ID);
            cmbBx_DisGroupCustomer.DisplayMember  = nameof(CustomerGroup.Name);
        }