public void ChangeDateTimeProperty()
        {
            var viewmodel = SelectSomeTreeViewNode();

            var item = viewmodel.DataGridViewModel.Items.Random();
            var mvm = new IOStockManagerViewModel(viewmodel, item);
            mvm.SelectedDate = DateTime.Now;
            mvm.Update();

            AssertQuantityChecking(viewmodel.DataGridViewModel.Items);
        }
        public void ChangeStockTypeProperty()
        {
            var viewmodel = SelectSomeTreeViewNode();

            var inc = viewmodel.DataGridViewModel.Items.Where(x => x.StockType == IOStockType.INCOMING);
            var item = viewmodel.DataGridViewModel.Items.Where(x => x.StockType == IOStockType.INCOMING).Random();
            var mvm = new IOStockManagerViewModel(viewmodel, item);
            mvm.StockType = IOStockType.OUTGOING;
            mvm.Update();
            AssertQuantityChecking(viewmodel.DataGridViewModel.Items);
        }
        public void WhenModifyQtyThenSyncDataGridViewItems()
        {
            ObservableInventory inv = DataDirector.GetInstance().CopyInventories().Random();
            IOStockFormat qret = DataDirector.GetInstance().DB.Query<IOStockFormat>("select * from IOStockFormat where InventoryID = '{0}' and StockType = 2 limit 1;", inv.ID).Single();

            IOStockStatusViewModel svm = new IOStockStatusViewModel();

            svm.SelectedDataGridGroupOption = IOStockStatusViewModel.DATAGRID_OPTION_PRODUCT;
            List<TreeViewNode> nodes = svm.TreeViewViewModel.SearchNodesInRoot(NodeType.INVENTORY);
            TreeViewNode node = nodes.Where(x => x.ObservableObjectID == qret.InventoryID).Single();
            svm.TreeViewViewModel.AddSelectedNodes(node);

            IOStockDataGridItem stock = DataDirector.GetInstance().StockCollection.Where(x => x.ID == qret.ID).Single();

            IOStockManagerViewModel vm = new IOStockManagerViewModel(stock);
            int qty = vm.Quantity = 10;
            vm.Update();

            ObservableCollection<IOStockDataGridItem> items = svm.DataGridViewModel.Items;
            IOStockDataGridItem result = items.Where(x => x.ID == stock.ID).Single();

            Assert.AreEqual(result, stock);
            Assert.AreEqual(qty, result.Quantity);
        }
        public void ModifyIOStockFormat3()
        {
            var inv = DataDirector.GetInstance().CopyInventories().Random();
            var qret = DataDirector.GetInstance().DB.Query<IOStockFormat>("select * from IOStockFormat where InventoryID = '{0}' and StockType = 2 limit 1;", inv.ID);
            var oios = new ObservableIOStock(qret.Random());
            var vm = new IOStockManagerViewModel(oios);

            string name = "new";
            vm.SelectedAccount = null;
            vm.SelectedProject = null;
            vm.SelectedEmployee = null;
            vm.AccountText = name;
            vm.ProjectText = name;
            vm.EmployeeText = name;

            ObservableIOStock oio = vm.Update();

            Assert.AreEqual(name, oio.Customer.Name);
            Assert.AreEqual(name, oio.Employee.Name);
            Assert.AreEqual(name, oio.Project.Name);
        }
        public void ModifyIOStockFormat2()
        {
            var inv = DataDirector.GetInstance().CopyInventories().Random();
            var qret = DataDirector.GetInstance().DB.Query<IOStockFormat>("select * from IOStockFormat where InventoryID = '{0}' and StockType = 2 limit 1;", inv.ID);
            var oios = new ObservableIOStock(qret.Random());
            var vm = new IOStockManagerViewModel(oios);

            var acc = vm.SelectedAccount = vm.Accounts.Random();
            var emp = vm.SelectedEmployee = vm.Employees.Random();
            var prj = vm.SelectedProject = vm.Projects.Random();

            ObservableIOStock oio = vm.Update();

            Assert.AreEqual(acc, oio.Customer);
            Assert.AreEqual(emp, oio.Employee);
            Assert.AreEqual(prj, oio.Project);
        }
        public void ModifyIOStockFormat1()
        {
            var inv = DataDirector.GetInstance().CopyInventories().Random();
            var qret = DataDirector.GetInstance().DB.Query<IOStockFormat>("select * from IOStockFormat where InventoryID = '{0}' and StockType = 1 limit 1;", inv.ID);
            var oios = new ObservableIOStock(qret.Random());
            var vm = new IOStockManagerViewModel(oios);

            vm.SelectedAccount = vm.Accounts.Random();
            vm.SelectedEmployee = vm.Employees.Random();
            vm.SelectedProject = vm.Projects.Random();

            ObservableIOStock oio = vm.Update();

            Assert.AreEqual(vm.SelectedAccount, oio.Supplier);
            Assert.AreEqual(vm.SelectedEmployee, oio.Employee);
            Assert.AreEqual(vm.SelectedProject, oio.Warehouse);
        }
        public void ModifyIOStockFormat0()
        {
            ObservableInventory inv = DataDirector.GetInstance().CopyInventories().Random();
            List<IOStockFormat> qret = DataDirector.GetInstance().DB.Query<IOStockFormat>("select * from IOStockFormat where InventoryID = '{0}' and StockType = 1 limit 1;", inv.ID);
            ObservableIOStock oios = new ObservableIOStock(qret.Random());
            IOStockManagerViewModel vm = new IOStockManagerViewModel(oios);

            var qty = vm.Quantity = 10;
            var pri = vm.UnitPrice = 1000;

            ObservableIOStock oio = vm.Update();

            Assert.AreEqual(qty, oio.Quantity);
            Assert.AreEqual(pri, oio.UnitPrice);
        }