コード例 #1
0
        private void GenerateFiles(object sender, RoutedEventArgs e)
        {
            //Hlöðum inn grunngildum fyrir DatabaseMockup-ið, þetta er til þess að forritið viti hvar gagnagrunnsskilgreiningarnar eru
            DatabaseMockup.InitializeDatabaseMockup(baseFolderPath.Text);

            //Skilgreinum viðvörunina sem á að birtast í öllum auto generated file-um
            string fileAutoGenerationWarningText = "Autogenerated File - Warning: All modifications will be overwritten. File generated at: " + DateTime.UtcNow;

            //Setjum upp background worker til að sjá um að keyra löngu skipunina sem generate-ar kóðann
            BackgroundWorker worker = new BackgroundWorker();

            worker.DoWork += (o, ea) =>
            {
                //no direct interaction with the UI is allowed from this method
                this.Dispatcher.Invoke(() =>
                {
                    //Hreinsum möppur og útbúum file-a
                    ViewGenerator.GenerateViews(baseFolderPath.Text + pathToViews.Text, fileAutoGenerationWarningText);
                    ViewModelGenerator.GenerateViewModels(baseFolderPath.Text + pathToViewModels.Text, fileAutoGenerationWarningText);
                    ControllerGenerator.GenerateControllers(baseFolderPath.Text + pathToControllers.Text, fileAutoGenerationWarningText);
                });
            };
            worker.RunWorkerCompleted += (o, ea) =>
            {
                //work has completed. you can now interact with the UI
                busyIndicator.IsBusy = false;
            };
            //TODO: Þetta er nóg til þess að gera view-ið greyed out á meðan við erum að vinna, en sýnir ekki loading bar-ið sem er þarna á bakvið. Vil finna út af hverju ekki, hefur sennilega eitthvað að gera með þræði
            busyIndicator.IsBusy = true;

            //Setjum worker-inn í gang sem keyrir langa process-ið
            worker.RunWorkerAsync();
        }
コード例 #2
0
        public void TestLock()
        // Test "Lock for Withdrawal" function
        {
            var db         = new DatabaseMockup();
            var controller = new HomeController(db);
            var model      = new MainMenuModel();

            model.UserID          = 1;
            model.UserName        = "******";
            model.SelectedAccount = 1;

            var result = controller.Lock(model) as RedirectToRouteResult;

            Assert.AreEqual("", result.RouteName);
            var account = db.GetAccounts().Where(a => a.ID == 1).Single();

            Assert.IsTrue(account.Locked);
        }
コード例 #3
0
        public void TestWithdraw()
        // List all acounts  and their balance for given user.
        {
            var db         = new DatabaseMockup();
            var controller = new HomeController(db);
            var model      = BuildMainMenuModel();

            model.SelectedAccount = 4;
            model.Amount          = 12;
            var before = AccountById(db, model.SelectedAccount).Balance;

            var result = controller.Withdraw(model) as RedirectToRouteResult;

            Assert.AreEqual("", result.RouteName);
            var after = AccountById(db, model.SelectedAccount).Balance;

            Assert.AreEqual(before - 12, after);
        }
コード例 #4
0
        public void TestTransfer()
        // Transfer amount between two accounts.
        {
            var db         = new DatabaseMockup();
            var controller = new HomeController(db);
            var model      = BuildMainMenuModel();

            model.FromAccount = 1;
            model.ToAccount   = 4;
            model.Amount      = 12;
            var srcBefore  = AccountById(db, 1).Balance;
            var destBefore = AccountById(db, 4).Balance;

            var result = controller.Transfer(model) as RedirectToRouteResult;

            Assert.AreEqual("", result.RouteName);
            Assert.AreEqual(srcBefore - 12, AccountById(db, 1).Balance);
            Assert.AreEqual(destBefore + 12, AccountById(db, 4).Balance);
        }