public async override Task InitQuery()
        {
            busyIndicator.IsBusy = true;
            var bankStmtLines = (BankStatementLineGridClient[])await bankTransApi.GetTransactions(new BankStatementLineGridClient(), master, fromDate, toDate, false);

            if (bankStmtLines != null)
            {
                long Total = 0;
                int  l     = bankStmtLines.Length;
                if (l > 0)
                {
                    bankStmtLines[0]._AmountCent += Uniconta.Common.Utility.NumberConvert.ToLong(100d * master._StartBalance);
                }
                for (int i = 0; (i < l); i++)
                {
                    var p = bankStmtLines[i];
                    //if (!p._Void)
                    {
                        Total   += p._AmountCent;
                        p._Total = Total;
                    }
                }
            }
            dgBankStatementLine.SetSource(bankStmtLines);
            busyIndicator.IsBusy = false;
        }
        public async override Task InitQuery()
        {
            busyIndicator.IsBusy = true;
            var bankStmtLines = (BankStatementLineGridClient[])await bankTransApi.GetTransactions(new BankStatementLineGridClient(), master, fromDate, toDate, true);

            if (showAmountType == Uniconta.ClientTools.Localization.lookup("Debit"))
            {
                var stmtLines = bankStmtLines.Where(x => x._AmountCent >= 0).ToArray();
                bankStmtLines = stmtLines;
            }
            else if (showAmountType == Uniconta.ClientTools.Localization.lookup("Credit"))
            {
                var stmtLines = bankStmtLines.Where(x => x._AmountCent <= 0).ToArray();
                bankStmtLines = stmtLines;
            }
            busyIndicator.IsBusy = false;
            dgBankStatementLine.SetSource(bankStmtLines);

            StartLoadCache();
        }
示例#3
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);
        }