Ejemplo n.º 1
0
        public void Should_ThrowNullReferenceException_When_AvailableTransferAccountsIsNull()
        {
            var form      = new CheckAssignedTransferAccountDialogBox();
            var inputData = GetStandardTestData();

            form.InitializeData(inputData, null);
        }
Ejemplo n.º 2
0
        public void Should_ThrowNullReferenceException_When_TransactionDataIsNull()
        {
            var form             = new CheckAssignedTransferAccountDialogBox();
            var transferAccounts = GetStandardTransferAccountList();

            form.InitializeData(null, transferAccounts);
        }
Ejemplo n.º 3
0
        public void Should_PrevAndNextButtonEnableStatusActCorrectly_When_DataHas3Records()
        {
            var form             = new CheckAssignedTransferAccountDialogBox();
            var inputData        = GetStandardTestData();
            var transferAccounts = GetStandardTransferAccountList();

            form.InitializeData(inputData, transferAccounts);

            var view = form as ICheckAssignedTransferAccountDialogBoxView;

            Assert.IsFalse(view.BtnPrevEnabled);
            Assert.IsTrue(view.BtnNextEnabled);
            Assert.AreEqual("1", view.TbxIndexText);
            Assert.AreEqual(inputData[0].Account, view.TbxAccountText);
            Assert.AreEqual(inputData[0].Deposit.ToString(), view.TbxAmountText);
            Assert.AreEqual(inputData[0].Description, view.TbxDescriptionText);
            Assert.AreEqual(inputData[0].Date.ToString(), view.TbxTransactionDateText);
            Assert.AreEqual(inputData[0].TransferMemo, view.TbxTransferMemoText);

            form.Presenter.OnNextButtonClick();
            Assert.IsTrue(view.BtnPrevEnabled);
            Assert.IsTrue(view.BtnNextEnabled);
            Assert.AreEqual("2", view.TbxIndexText);
            Assert.AreEqual(inputData[1].Account, view.TbxAccountText);
            Assert.AreEqual(inputData[1].Deposit.ToString(), view.TbxAmountText);
            Assert.AreEqual(inputData[1].Description, view.TbxDescriptionText);
            Assert.AreEqual(inputData[1].Date.ToString(), view.TbxTransactionDateText);
            Assert.AreEqual(inputData[1].TransferMemo, view.TbxTransferMemoText);

            form.Presenter.OnNextButtonClick();
            Assert.IsTrue(view.BtnPrevEnabled);
            Assert.IsFalse(view.BtnNextEnabled);
            Assert.AreEqual("3", view.TbxIndexText);
            Assert.AreEqual(inputData[2].Account, view.TbxAccountText);
            Assert.AreEqual(inputData[2].Deposit.ToString(), view.TbxAmountText);
            Assert.AreEqual(inputData[2].Description, view.TbxDescriptionText);
            Assert.AreEqual(inputData[2].Date.ToString(), view.TbxTransactionDateText);
            Assert.AreEqual(inputData[2].TransferMemo, view.TbxTransferMemoText);

            form.Presenter.OnPrevButtonClick();
            Assert.IsTrue(view.BtnPrevEnabled);
            Assert.IsTrue(view.BtnNextEnabled);
            Assert.AreEqual("2", view.TbxIndexText);
            Assert.AreEqual(inputData[1].Account, view.TbxAccountText);
            Assert.AreEqual(inputData[1].Deposit.ToString(), view.TbxAmountText);
            Assert.AreEqual(inputData[1].Description, view.TbxDescriptionText);
            Assert.AreEqual(inputData[1].Date.ToString(), view.TbxTransactionDateText);
            Assert.AreEqual(inputData[1].TransferMemo, view.TbxTransferMemoText);

            form.Presenter.OnPrevButtonClick();
            Assert.IsFalse(view.BtnPrevEnabled);
            Assert.IsTrue(view.BtnNextEnabled);
            Assert.AreEqual("1", view.TbxIndexText);
            Assert.AreEqual(inputData[0].Account, view.TbxAccountText);
            Assert.AreEqual(inputData[0].Deposit.ToString(), view.TbxAmountText);
            Assert.AreEqual(inputData[0].Description, view.TbxDescriptionText);
            Assert.AreEqual(inputData[0].Date.ToString(), view.TbxTransactionDateText);
            Assert.AreEqual(inputData[0].TransferMemo, view.TbxTransferMemoText);
        }
Ejemplo n.º 4
0
        public void Should_CleanDisplay_When_AvailableTransferAccountsIsEmpty()
        {
            var form      = new CheckAssignedTransferAccountDialogBox();
            var inputData = GetStandardTestData();

            form.InitializeData(inputData, new List <string>());

            var view = form as ICheckAssignedTransferAccountDialogBoxView;

            Assert.AreEqual("", view.TbxCountText);
            Assert.AreEqual("", view.TbxIndexText);
            Assert.AreEqual("", view.TbxAccountText);
            Assert.AreEqual("", view.TbxAmountText);
            Assert.AreEqual("", view.TbxDescriptionText);
            Assert.AreEqual("", view.TbxTransactionDateText);
            Assert.AreEqual("", view.TbxTransferMemoText);
            Assert.IsFalse(view.BtnPrevEnabled);
            Assert.IsFalse(view.BtnNextEnabled);
        }
Ejemplo n.º 5
0
        public void Should_CleanDisplay_When_TransactionDataIsEmpty()
        {
            var form             = new CheckAssignedTransferAccountDialogBox();
            var transferAccounts = GetStandardTransferAccountList();

            form.InitializeData(new List <TransactionImportFileRow>(), transferAccounts);

            var view = form as ICheckAssignedTransferAccountDialogBoxView;

            Assert.AreEqual("", view.TbxCountText);
            Assert.AreEqual("", view.TbxIndexText);
            Assert.AreEqual("", view.TbxAccountText);
            Assert.AreEqual("", view.TbxAmountText);
            Assert.AreEqual("", view.TbxDescriptionText);
            Assert.AreEqual("", view.TbxTransactionDateText);
            Assert.AreEqual("", view.TbxTransferMemoText);
            Assert.IsFalse(view.BtnPrevEnabled);
            Assert.IsFalse(view.BtnNextEnabled);
        }
Ejemplo n.º 6
0
        public void Should_LoadFirstTransactionData_When_InitializeData()
        {
            var form             = new CheckAssignedTransferAccountDialogBox();
            var inputData        = GetStandardTestData();
            var transferAccounts = GetStandardTransferAccountList();

            form.InitializeData(inputData, transferAccounts);

            var view = form as ICheckAssignedTransferAccountDialogBoxView;

            Assert.AreEqual(inputData.Count.ToString(), view.TbxCountText);
            Assert.AreEqual("1", view.TbxIndexText);
            CollectionAssert.AreEqual(transferAccounts, view.AvailableTransferAccounts);
            Assert.AreEqual(inputData[0].Account, view.TbxAccountText);
            Assert.AreEqual(inputData[0].Deposit.ToString(), view.TbxAmountText);
            Assert.AreEqual(inputData[0].Description, view.TbxDescriptionText);
            Assert.AreEqual(inputData[0].Date.ToString(), view.TbxTransactionDateText);
            Assert.AreEqual(inputData[0].TransferMemo, view.TbxTransferMemoText);
            //Assert.AreEqual()
        }
        private async void button2_Click(object sender, EventArgs e)
        {
            button2.Enabled = false;

            var dialog = new OpenFileDialog
            {
                CheckFileExists = true,
                CheckPathExists = true,
                Filter          = "XML and CSV files (*.xml, *.csv)|*.xml;*.csv|All files (*.*)|*.*;",
                Multiselect     = true,
                Title           = "Importuj pliki"
            };

            DialogResult result = dialog.ShowDialog();

            if (result != DialogResult.OK)
            {
                button2.Enabled = true;
                return;
            }

            var defaultCursor = Cursor.Current;

            Cursor.Current = Cursors.WaitCursor;

            var operationsFilesParser = _services.GetService <OperationFilesParser>();
            var filesParsingResults   = await operationsFilesParser.ParseOperationsFiles(dialog.FileNames);

            Cursor.Current = defaultCursor;

            FilesImportResultDialogBox.ShowDialog(filesParsingResults.ParsingResults);

            var pairOperationsDialogBox = new PairOperationsDialogBox();

            pairOperationsDialogBox.InitializeData(filesParsingResults.PairableOperations.OrderBy(q => q.Date).ToList());
            result = pairOperationsDialogBox.ShowDialog();

            if (result != DialogResult.OK)
            {
                button2.Enabled = true;
                return;
            }

            defaultCursor  = Cursor.Current;
            Cursor.Current = Cursors.WaitCursor;

            var transactionImportFileDataGenerator = _services.GetService <TransactionImportFileDataGenerator>();
            var fileRows = await transactionImportFileDataGenerator.GenerateImportFileData(filesParsingResults.LoadedOperations, pairOperationsDialogBox.GetResults());

            Cursor.Current = defaultCursor;

            var checkAssignedTransferAccountDialogBox = new CheckAssignedTransferAccountDialogBox();

            var context = _services.GetService <GnuCashContext>();

            checkAssignedTransferAccountDialogBox.InitializeData(fileRows, (await context.Set <Account>().GetAccountFullNamesAsync()).OrderBy(q => q.FullName).Select(q => q.FullName).ToList());

            result = checkAssignedTransferAccountDialogBox.ShowDialog();

            if (result != DialogResult.OK)
            {
                button2.Enabled = true;
                return;
            }

            var writer = _services.GetService <TransactionImportFileWriter>();

            await writer.GenerateReport(fileRows);

            button2.Enabled = true;
        }