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(); }
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); }
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); }
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); }