コード例 #1
0
        public void TestUpdateColumnInformation()
        {
            //
            //Arrange
            //
            var vm            = new MainWindowsViewModel();
            var userInputData =
                @"
Staff	Id	bIgInt	nO	0
Staff	StaffCode111	varchar	fAlsE	10
Staff	FirstName	nvarchar	yEs	50
";

            vm.ColumnInformationUserInput =
                @"
Staff	Id	bIgInt	nO	0
Staff	StaffCode	varchar	fAlsE	10
Staff	FirstName	nvarchar	yEs	5
";

            //
            //Act
            //
            vm.ColumnInformationUserInput = userInputData;

            //
            //Assert
            //

            //count
            Assert.AreEqual(
                vm.GenerateConfigs[1].ColumnName, "StaffCode111",
                "Record update failture"
                );
        }
コード例 #2
0
        public MainWindow()
        {
            InitializeComponent();

            Title = Title + $" {typeof(MainWindow).Assembly.GetName().Version}";

            DependencyContainer.ComposeParts(this);

#if DEBUG
            Log.Info("Running in debug mode");
#else
            Logger.Visibility = Visibility.Collapsed;
#endif

            var dispatcher = Dispatcher.CurrentDispatcher;
            Func <(Action <string> show, Action <string> updateText, Action close)> createProgressingViewFunc = () =>
            {
                var view = new ProgressView();
                view.Owner = this;

                return(text =>
                {
                    view.TextToShow.Text = text;
                    view.ShowDialog();
                },
                       txt =>
                {
                    if (dispatcher.CheckAccess())
                    {
                        view.TextToShow.Text = txt;
                    }
                    else
                    {
                        dispatcher.BeginInvoke((Action)(() => { view.TextToShow.Text = txt; }));
                    }
                },
                       () => view.Close());
            };

            Action <Action <string, string, string> > createLoginViewFunc = loginAction =>
            {
                var view = new LoginView {
                    Owner = this
                };
                var loginVm = new LoginViewModel(() => view.Close(), loginAction);
                view.DataContext = loginVm;
                view.ShowDialog();
            };

            _vm = new MainWindowsViewModel(createLoginViewFunc, createProgressingViewFunc);
            _vm.SetParentWindow(this);

            DataContext = _vm;
            Closing    += OnClosing;

            Loaded += MainWindow_Loaded;

            Height = SystemParameters.PrimaryScreenHeight * 0.70;
            Width  = Height * 1.5;
        }
コード例 #3
0
        public MainWindow()
        {
            InitializeComponent();

            DependencyContainer.ComposeParts(this);

            DataContext = new MainWindowsViewModel();
            Closing    += OnClosing;
        }
コード例 #4
0
        public MainWindow()
        {
            InitializeComponent();

            _viewModel  = new MainWindowsViewModel(PrehledyStatistik);
            DataContext = _viewModel;


            // Insert code required on object creation below this point.
        }
コード例 #5
0
        public void TestKeyInformationToGenerateRowCount()
        {
            //
            //Arrange
            //
            var vm = new MainWindowsViewModel();

            var userInputDatas = new List <TableConfig>
            {
                new TableConfig {
                    TableName = "Staff", GenerateRecordCount = 10
                },
                new TableConfig {
                    TableName = "LeaveType", GenerateRecordCount = 2
                },
                new TableConfig {
                    TableName = "StaffLeave", GenerateRecordCount = 100
                },
            };

            vm.ColumnInformationUserInput =
                @"
Staff	Id	bigint	NO	0
Staff	StaffCode	varchar	NO	10
Staff	FirstName	nvarchar	YES	50
Staff	LastName	nvarchar	YES	50
LeaveType	Id	bigint	NO	0
LeaveType	LeaveCode	varchar	NO	10
LeaveType	Name	varchar	YES	50
StaffLeave	Id	bigint	NO	0
StaffLeave	StaffId	bigint	NO	0
StaffLeave	LeaveTypeId	bigint	NO	0
StaffLeave	DateFrom	date	NO	0
StaffLeave	DateTo	date	NO	0
";

            //
            //Act
            //
            userInputDatas.ForEach(x =>
                                   vm.TableConfigs.Single(y => y.TableName == x.TableName).GenerateRecordCount = x.GenerateRecordCount
                                   );

            //
            //Assert
            //
            userInputDatas.ForEach(x =>
                                   vm.GenerateConfigs.Where(y => y.TableName == x.TableName).ToList().ForEach(y =>
                                                                                                              Assert.AreEqual(
                                                                                                                  x.GenerateRecordCount,
                                                                                                                  y.GenerateRecordCount
                                                                                                                  )
                                                                                                              )
                                   );
        }
コード例 #6
0
 public MainPage(MainWindowsViewModel mainWindowsViewModel)
 {
     InitializeComponent();
     this.MainWindowsViewModel = mainWindowsViewModel;
     if (mainWindowsViewModel.Person.ImageUri.Length > 0)
     {
         MainWindowsViewModel.Avatar = new BitmapImage(new Uri(mainWindowsViewModel.Person.ImageUri));
     }
     else
     {
         MainWindowsViewModel.Avatar = new BitmapImage(new Uri("http://www.tsdm.me/uc_server/images/noavatar_middle.gif"));
     }
     this.DataContext = MainWindowsViewModel;
 }
コード例 #7
0
        private void LoadingPage_ProgramLoadingFinished(object sender, EventArgs e)
        {
            MainWindowsViewModel = sender as MainWindowsViewModel;

            if (MainWindowsViewModel.LoginComplete)
            {
                MainPage = new MainPage(MainWindowsViewModel);
                MainPage.DataContextChanged += MainPage_DataContextChanged;
                ShellFrame.NavigationService.Navigate(MainPage);
                ShellFrame.NavigationService.RemoveBackEntry();
            }
            else
            {
                Close();
            }
        }
コード例 #8
0
 public MainWindow()
 {
     InitializeComponent();
     DataContext = new MainWindowsViewModel(MyItemDataProvider.GetSampleData());
 }
コード例 #9
0
 private void MainPage_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
 {
     this.MainWindowsViewModel = (MainWindowsViewModel)MainPage.DataContext;
 }
コード例 #10
0
 public MainPageCommands(MainWindowsViewModel data)
 {
     _data = data;
 }
コード例 #11
0
 public SaveCommand(MainWindowsViewModel vm)
 {
     this.vm = vm;
 }
コード例 #12
0
 public MainWindow()
 {
     InitializeComponent();
     DataContext = new MainWindowsViewModel();
 }
コード例 #13
0
 public MainWindow()
 {
     mainvm = new MainWindowsViewModel();
 }
コード例 #14
0
        public void TestColumnInformationUserInputParse()
        {
            //
            //Arrange
            //
            var vm            = new MainWindowsViewModel();
            var userInputData =
                @"
Staff	Id	bIgInt	nO	0
Staff	StaffCode	varchar	fAlsE	10
Staff	FirstName	nvarchar	yEs	50
Staff	LastName	nvarchar	TrUe	50
StaffLeave	Id	bIgInt	NO	0
StaffLeave	StaffId	bigint	NO	0
StaffLeave	LeaveTypeId	bigint	NO	0
StaffLeave	DateFrom	date	NO	0
StaffLeave	DateTo	date	NO	0
";

            //
            //Act
            //
            vm.ColumnInformationUserInput = userInputData;

            //
            //Assert
            //

            //count
            Assert.AreEqual(
                //last record no new line
                userInputData.Trim().Count(x => x == '\n') + 1, vm.GenerateConfigs.Count,
                "Parse record not match"
                );
            Assert.IsFalse(
                vm.GenerateConfigs.Any(x => x == null),
                "GenerateConfigs has null"
                );

            //record prase
            Assert.AreEqual(
                vm.GenerateConfigs[1].TableName, "Staff",
                false, "Prase Error (TableName)"
                );
            Assert.AreEqual(
                vm.GenerateConfigs[1].ColumnName, "StaffCode",
                false, "Prase Error (ColumnName)"
                );
            Assert.AreEqual(
                vm.GenerateConfigs[1].DataType, "varchar",
                false, "Prase Error (DataType)"
                );
            Assert.AreEqual(
                vm.GenerateConfigs[1].IsNullable, false,
                "Prase Error (IsNullable)"
                );
            Assert.AreEqual(
                vm.GenerateConfigs[1].CharacterMaximumLength, 10,
                "Prase Error (CharacterMaximumLength)"
                );

            //nullable
            Assert.AreEqual(
                vm.GenerateConfigs[0].IsNullable, false,
                "Nullable: nO --> false"
                );
            Assert.AreEqual(
                vm.GenerateConfigs[1].IsNullable, false,
                "Nullable: fAlSe --> false"
                );
            Assert.AreEqual(
                vm.GenerateConfigs[2].IsNullable, true,
                "Nullable: yEs --> true"
                );
            Assert.AreEqual(
                vm.GenerateConfigs[3].IsNullable, true,
                "Nullable: TrUe --> true"
                );

            //datatype lower case
            Assert.AreEqual(
                vm.GenerateConfigs[0].DataType, "bigint",
                false, "dataType haven't convert to lower case"
                );
        }
コード例 #15
0
 public LoadingPage()
 {
     MainWindowsViewModel = new MainWindowsViewModel();
     InitializeComponent();
 }