Beispiel #1
0
        void InitPage(CrudAPI crudapi)
        {
            BusyIndicator = busyIndicator;
            layoutControl = layoutItems;
            leAccount.api = lkJournal.api = cmbDim1.api = cmbDim2.api = cmbDim3.api = cmbDim4.api = cmbDim5.api = crudapi;
            if (crudapi.CompanyEntity.NumberOfDimensions == 0)
            {
                usedim.Visibility = Visibility.Collapsed;
            }
            else
            {
                Utility.SetDimensions(crudapi, lbldim1, lbldim2, lbldim3, lbldim4, lbldim5, cmbDim1, cmbDim2, cmbDim3, cmbDim4, cmbDim5, usedim);
            }

            if (crudapi.CompanyEntity._DirectDebit == false)
            {
                grpBankConnect.Visibility = Visibility.Collapsed;
            }

            if (LoadedRow == null)
            {
                frmRibbon.DisableButtons(new string[] { "Delete" });
                editrow           = CreateNew() as BankStatementClient;
                editrow._DaysSlip = 3;
            }
            layoutItems.DataContext  = editrow;
            frmRibbon.OnItemClicked += frmRibbon_OnItemClicked;

            StartLoadCache();
        }
Beispiel #2
0
        void GeneratePollReport(BankStatementClient selectedItem)
        {
            var toFromDateDialog = new CWCalculateCommission(api, fromDate, toDate);

            toFromDateDialog.Title            = Uniconta.ClientTools.Localization.lookup("Reconciliation");
            toFromDateDialog.OKButton.Content = Uniconta.ClientTools.Localization.lookup("Generate");
            toFromDateDialog.Closing         += async delegate
            {
                if (toFromDateDialog.DialogResult == true)
                {
                    fromDate = toFromDateDialog.FromDateTime;
                    toDate   = toFromDateDialog.ToDateTime;
                    var source = await CreatePollReportSource(selectedItem);

                    var report = new PollReport();
                    report.DataSource = new PollReportSource[] { source };
                    var dockName = string.Concat(Uniconta.ClientTools.Localization.lookup("BankReconciliation"), ":", selectedItem._Account, ", ", selectedItem._Name);
                    AddDockItem(UnicontaTabs.StandardPrintReportPage, new object[] { report }, dockName);
                }
            };
            toFromDateDialog.Show();
        }
Beispiel #3
0
        private void RemoveBankStatmentOrSettelements(string ActionType, BankStatementClient selectedItem)
        {
            var        text        = string.Format("{0}: {1}, {2}", Uniconta.ClientTools.Localization.lookup("BankStatement"), selectedItem._Account, selectedItem._Name);
            var        defaultdate = BasePage.GetSystemDefaultDate().Date;
            CWInterval Wininterval = new CWInterval(defaultdate, defaultdate, showJrPostId: true);

            Wininterval.Closing += delegate
            {
                if (Wininterval.DialogResult == true)
                {
                    EraseYearWindow erWindow = new EraseYearWindow(text, false);
                    erWindow.Closing += async delegate
                    {
                        if (erWindow.DialogResult == true)
                        {
                            BankStatementAPI bkapi  = new BankStatementAPI(api);
                            ErrorCodes       result = ErrorCodes.NoSucces;

                            if (ActionType == "DeleteStatement")
                            {
                                result = await bkapi.DeleteLines(selectedItem, Wininterval.FromDate, Wininterval.ToDate, OnlyVoided : Wininterval.OnlyVoided);
                            }
                            else if (ActionType == "RemoveSettlements")
                            {
                                result = await bkapi.RemoveSettlements(selectedItem, Wininterval.FromDate, Wininterval.ToDate, Wininterval.JournalPostedId, Wininterval.Voucher);
                            }

                            if (result != ErrorCodes.Succes)
                            {
                                UtilDisplay.ShowErrorCode(result);
                            }
                        }
                    };
                    erWindow.Show();
                }
            };
            Wininterval.Show();
        }
 public void OneTimeSetUp()
 {
     InitDokladApi();
     _bankStatementClient = DokladApi.BankStatementClient;
     _issuedInvoiceClient = DokladApi.IssuedInvoiceClient;
 }
Beispiel #5
0
        async Task <PollReportSource> CreatePollReportSource(BankStatementClient master)
        {
            busyIndicator.IsBusy = true;
            var bankTransApi  = new BankStatementAPI(api);
            var bankStmtLines = (BankStatementLineGridClient[])await bankTransApi.GetTransactions(new BankStatementLineGridClient(), master, fromDate, toDate, true);

            var  src = new List <TextAmount>();
            long BankTotalNoMatch = 0, Total = 0;

            if (bankStmtLines != null)
            {
                if (bankStmtLines.Length > 0)
                {
                    bankStmtLines[0]._AmountCent += Uniconta.Common.Utility.NumberConvert.ToLong(100d * master._StartBalance);
                }
                for (int i = 0; (i < bankStmtLines.Length); i++)
                {
                    var p = bankStmtLines[i];
                    //if (!p._Void)
                    {
                        Total   += p._AmountCent;
                        p._Total = Total;
                    }
                    if (p.State == 1) // red
                    {
                        BankTotalNoMatch += p._AmountCent;
                        src.Add(new TextAmount()
                        {
                            Date = p._Date, AmountCent = p._AmountCent, Text = p.Text
                        });                                                                                      // use Text property
                    }
                }
            }

            var pollsrc = new PollReportSource();

            pollsrc.FromDate  = fromDate;
            pollsrc.Date      = toDate;
            pollsrc.BankAcc   = master;
            pollsrc.BankTotal = Total / 100d;
            pollsrc.Source2   = src;

            src              = new List <TextAmount>();
            Total            = 0;
            BankTotalNoMatch = 0;

            var tranApi  = new Uniconta.API.GeneralLedger.ReportAPI(api);
            var listtran = (GLTransClientTotal[])await tranApi.GetBank(new GLTransClientTotal(), master._Account, fromDate, toDate, true);

            if (listtran != null)
            {
                Array.Sort(listtran, new GLTransClientSort());
                bool ShowCurrency = (!tranApi.CompanyEntity.SameCurrency(master._Currency));

                for (int i = 0; (i < listtran.Length); i++)
                {
                    var p          = listtran[i];
                    var AmountCent = ShowCurrency ? p._AmountCurCent : p._AmountCent;
                    Total   += AmountCent;
                    p._Total = Total;

                    if (p.State == 1) // red
                    {
                        BankTotalNoMatch += p._AmountCent;
                        src.Add(new TextAmount()
                        {
                            Date = p._Date, Voucher = p._Voucher, Text = p.Text, AmountCent = AmountCent
                        });                                                                                                         // use Text property
                    }
                }
            }

            pollsrc.PostedTotal = Total / 100d;
            pollsrc.Source3     = src;

            busyIndicator.IsBusy = false;

            return(pollsrc);
        }
Beispiel #6
0
        private void localMenu_OnItemClicked(string ActionType)
        {
            BankStatementClient selectedItem = dgBankStatement.SelectedItem as BankStatementClient;

            switch (ActionType)
            {
            case "AddRow":
                AddDockItem(TabControls.BankStatementPage2, api, Uniconta.ClientTools.Localization.lookup("BankStatement"), "Add_16x16.png");
                break;

            case "EditRow":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.BankStatementPage2, selectedItem);
                }
                break;

            case "MatchLines":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.BankStatementLinePage, selectedItem, string.Format("{0}, {1}: {2}", Uniconta.ClientTools.Localization.lookup("MatchLines"), Uniconta.ClientTools.Localization.lookup("Account"), selectedItem._Account));
                }
                break;

            case "LedgerPosting":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.LedgerPostingPage, selectedItem, string.Format("{0}, {1}: {2}", Uniconta.ClientTools.Localization.lookup("LedgerPosting"), Uniconta.ClientTools.Localization.lookup("Account"), selectedItem._Account));
                }
                break;

            case "StLines":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.StatementLine, selectedItem, string.Format("{0}, {1}: {2}", Uniconta.ClientTools.Localization.lookup("BankStatement"), Uniconta.ClientTools.Localization.lookup("Account"), selectedItem._Account));
                }
                break;

            case "GLTrans":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.StatementLineTransPage, selectedItem, string.Format("{0}, {1}: {2}", Uniconta.ClientTools.Localization.lookup("Transactions"), Uniconta.ClientTools.Localization.lookup("Account"), selectedItem._Account));
                }
                break;

            case "ImportBankStatement":
                if (selectedItem != null)
                {
                    AddDockItem(TabControls.ImportGLDailyJournal, selectedItem, string.Concat(string.Format(Uniconta.ClientTools.Localization.lookup("ImportOBJ"),
                                                                                                            Uniconta.ClientTools.Localization.lookup("BankStatement")), " : ", selectedItem.Account), null, true);
                }
                break;

            case "RemoveSettlements":
            case "DeleteStatement":
                if (selectedItem != null)
                {
                    RemoveBankStatmentOrSettelements(ActionType, selectedItem);
                }
                break;

            case "ReconciliationReport":
                if (selectedItem != null)
                {
                    GeneratePollReport(selectedItem);
                }
                break;

#if WPF
            case "ConnectToBank":
                if (selectedItem == null)
                {
                    return;
                }

                CWBankAPI cwBank = new CWBankAPI(api);
                cwBank.Closing += async delegate
                {
                    if (cwBank.DialogResult == true)
                    {
                        await BankAPI(cwBank.Type, cwBank.CustomerNo, cwBank.Bank, cwBank.ActivationCode, cwBank.Company);
                    }
                };
                cwBank.Show();
                break;
#endif
            default:
                gridRibbon_BaseActions(ActionType);
                break;
            }
        }