コード例 #1
0
        public static SortableBindingList<BalanceReportModel> GetAccounts(DateTime startDate, DateTime endDate, decimal? balCode, int? deptId)
        {
            var dates = new List<DateTime>();

            for (var date = startDate; date <= endDate; date = date.AddDays(1))
                dates.Add(startDate);

            var list = new List<BalanceReportModel>();

            AltasoftAPI.AccountsAPI.Account[] result = null;

            foreach (var date in dates)
            {
                #region AccountsService
                AltasoftAPI.AccountsAPI.AccountsService a = new AltasoftAPI.AccountsAPI.AccountsService();
                a.RequestHeadersValue = new AltasoftAPI.AccountsAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() };
                #endregion

                var lll = new List<AccountStatement>();

                result = a.ListAccounts(new ListAccountsQuery()
                {
                    ControlFlags = AccountControlFlags.Basic | AccountControlFlags.Balances,
                    BalAcc = balCode,
                    BalAccSpecified = balCode.HasValue,
                    DeptId = deptId,
                    DeptIdSpecified = deptId.HasValue
                });

                foreach (var item in result)
                {
                    AccountStatement bal;

                    if (item.Ccy == "GEL")
                        bal = a.GetStatement(new InternalAccountIdentification() { IBAN = item.IBAN, Ccy = item.Ccy }, new Period() { Start = date, End = date }, false, false, TransactionStatus.Green, true, 0, false);
                    else
                        bal = a.GetStatement(new InternalAccountIdentification() { IBAN = item.IBAN, Ccy = item.Ccy }, new Period() { Start = date, End = date }, true, true, TransactionStatus.Green, true, 0, false);
                    lll.Add(bal);
                }

                foreach (var item in lll)
                {
                    list.Add(new BalanceReportModel()
                        {
                            Date = date,
                            Balance = item.EndingBalanceEqu.HasValue ? item.EndingBalanceEqu.Value : item.EndingBalance,
                            CreditAmount = item.Records.Sum(x => x.CreditAmountEqu.HasValue ? x.CreditAmountEqu.Value : x.CreditAmount.Value),
                            DebitAmount = item.Records.Sum(x => x.DebitAmountEqu.HasValue ? x.DebitAmountEqu.Value : x.DebitAmount.Value)
                        });
                }
            }

            var list2 = list.GroupBy(x => x.Date);

            var list3 = new List<BalanceReportModel>();

            foreach (var item in list2)
            {
                list3.Add(new BalanceReportModel()
                    {
                        Date = item.FirstOrDefault().Date,
                        Balance = item.Sum(x => x.Balance)
                    });
            }

            #region AccountsService
            AltasoftAPI.AccountsAPI.AccountsService g = new AltasoftAPI.AccountsAPI.AccountsService();
            g.RequestHeadersValue = new AltasoftAPI.AccountsAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() };
            #endregion

            List<AccountStatementRecord> sts = new List<AccountStatementRecord>();

            foreach (var item in result)
                sts.AddRange(g.GetStatement(new InternalAccountIdentification() { IBAN = item.IBAN, Ccy = item.Ccy }, new Period() { Start = startDate, End = endDate }, true, true, TransactionStatus.Green, true, 0, false).Records);//.Sum(x => x.DebitAmountEqu.HasValue ? x.DebitAmountEqu.Value : x.DebitAmount.Value);

            var grouppedsts = sts.GroupBy(x => x.Date);

            foreach (var item in grouppedsts)
            {
                list3.FirstOrDefault(x => x.Date == item.Key).DebitAmount = item.Sum(x => x.DebitAmountEqu.HasValue ? x.DebitAmountEqu.Value : x.DebitAmount.HasValue ? x.DebitAmount.Value : 0);
                list3.FirstOrDefault(x => x.Date == item.Key).CreditAmount = item.Sum(x => x.CreditAmountEqu.HasValue ? x.CreditAmountEqu.Value : x.CreditAmount.HasValue ? x.CreditAmount.Value : 0);
            }

            return new SortableBindingList<BalanceReportModel>(list3);
        }
コード例 #2
0
        public static SortableBindingList<BalanceReportModel> GetAccounts3(DateTime startDate, DateTime endDate, decimal? balCode, int? deptId)
        {
            var list3 = new List<BalanceReportModel>();

            #region AccountsService
            AltasoftAPI.AccountsAPI.AccountsService g = new AltasoftAPI.AccountsAPI.AccountsService();
            g.RequestHeadersValue = new AltasoftAPI.AccountsAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() };
            #endregion

            var result = g.ListAccounts(new ListAccountsQuery()
            {
                ControlFlags = AccountControlFlags.Basic | AccountControlFlags.Balances,
                BalAcc = balCode,
                BalAccSpecified = balCode.HasValue,
                DeptId = deptId,
                DeptIdSpecified = deptId.HasValue
            });

            List<AccountStatementRecord> sts = new List<AccountStatementRecord>();

            foreach (var item in result)
                sts.AddRange(g.GetStatement(new InternalAccountIdentification() { IBAN = item.IBAN, Ccy = item.Ccy }, new Period() { Start = startDate, End = endDate }, true, true, TransactionStatus.Green, true, 0, false).Records);//.Sum(x => x.DebitAmountEqu.HasValue ? x.DebitAmountEqu.Value : x.DebitAmount.Value);

            var grouppedsts = sts.GroupBy(x => x.Date);

            foreach (var item in grouppedsts)
            {
                list3.Add(new BalanceReportModel() { DebitAmount = item.Sum(x => x.DebitAmountEqu.HasValue ? x.DebitAmountEqu.Value : x.DebitAmount.HasValue ? x.DebitAmount.Value : 0), CreditAmount = item.Sum(x => x.CreditAmountEqu.HasValue ? x.CreditAmountEqu.Value : x.CreditAmount.HasValue ? x.CreditAmount.Value : 0), Date = item.Key });
            }

            return new SortableBindingList<BalanceReportModel>(list3);
        }
コード例 #3
0
        public static SortableBindingList<Kunchik> GetAccountsTest(DateTime startDate, DateTime endDate, decimal[] balCodes, int? deptId)
        {
            var list = new Dictionary<List<AccountStatementRecord>, AltasoftAPI.AccountsAPI.Account>();
            var list2 = new List<Kunchik>();

            #region AccountsService
            AltasoftAPI.AccountsAPI.AccountsService a = new AltasoftAPI.AccountsAPI.AccountsService();
            a.RequestHeadersValue = new AltasoftAPI.AccountsAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() };
            #endregion

            var lll = new Dictionary<AccountStatement, AltasoftAPI.AccountsAPI.Account>();

            var result = new List<AltasoftAPI.AccountsAPI.Account>();

            foreach (var balCode in balCodes)
            {
                result.AddRange(a.ListAccounts(new ListAccountsQuery()
                {
                    ControlFlags = AccountControlFlags.Basic | AccountControlFlags.Balances,
                    BalAcc = balCode,
                    BalAccSpecified = true,
                    DeptId = deptId,
                    DeptIdSpecified = deptId.HasValue
                }));
            }

            foreach (var item in result)
            {
                AccountStatement bal = a.GetStatement(new InternalAccountIdentification() { IBAN = item.IBAN, Ccy = item.Ccy }, new Period() { Start = startDate.Date, End = endDate.Date }, true, true, TransactionStatus.Green, true, 0, false);

                lll.Add(bal, item);
            }

            foreach (var item in lll)
                foreach (var item2 in item.Key.Records)
                    list.Add(item.Key.Records.ToList(), item.Value);

            foreach (var item in list)
            {
                foreach (var itt in item.Key)
                {

                    list2.Add(new Kunchik()
                    {
                        AccountNumber = item.Value.AccountNumber,
                        AccountNumberSpecified = item.Value.AccountNumberSpecified,
                        Balance = itt.Balance,
                        BalanceEqu = itt.BalanceEqu,
                        BalanceEquSpecified = itt.BalanceEquSpecified,
                        BranchId = item.Value.BranchId,
                        BranchIdSpecified = item.Value.BranchIdSpecified,
                        Ccy = item.Value.Ccy,
                        CreditAmount = itt.CreditAmount,
                        CreditAmountEqu = itt.CreditAmountEqu,
                        CreditAmountEquSpecified = itt.CreditAmountEquSpecified,
                        CreditAmountSpecified = itt.CreditAmountSpecified,
                        Date = itt.Date,
                        DebitAmount = itt.DebitAmount,
                        DebitAmountEqu = itt.DebitAmountEqu,
                        DebitAmountEquSpecified = itt.DebitAmountEquSpecified,
                        DebitAmountSpecified = itt.DebitAmountSpecified,
                        DocNum = itt.DocNum,
                        DocNumSpecified = itt.DocNumSpecified,
                        ExtraDescription = itt.ExtraDescription,
                        IBAN = item.Value.IBAN,
                        Id = item.Value.Id,
                        IdSpecified = item.Value.IdSpecified,
                        OpCode = itt.OpCode,
                        OrderDate = itt.OrderDate,
                        OrderDateSpecified = itt.OrderDateSpecified,
                        OrderId = itt.OrderId,
                        Purpose = itt.Purpose,
                        Status = itt.Status,
                        TransactionType = itt.TransactionType,
                        AccountName = item.Value.DisplayName.ValueGeo,
                        BC_IBAN = itt.PartnerAccountId.IBAN
                    });
                }
            }

            return new SortableBindingList<Kunchik>(list2.GroupBy(x => x.OrderId).Select(x => x.First()).ToList());

            //TaxOrderGenerator.ExportToExcel(new SortableBindingList<object>(list2), typeof(Kunchik));

            //var list2 = list.GroupBy(x => x.Date);

            //var list3 = new List<BalanceReportModel>();

            //foreach (var item in list2)
            //{
            //    list3.Add(new BalanceReportModel()
            //    {
            //        Date = item.FirstOrDefault().Date,
            //        Balance = item.Sum(x => x.Balance)
            //    });
            //}

            //return new SortableBindingList<BalanceReportModel>(list3);
        }
コード例 #4
0
        public static SortableBindingList<BalanceReportModel> GetAccounts2(DateTime startDate, DateTime endDate, decimal? balCode, int? deptId)
        {
            var list = new List<AccountStatementRecord>();
            var list2 = new List<object>();

            #region AccountsService
            AltasoftAPI.AccountsAPI.AccountsService a = new AltasoftAPI.AccountsAPI.AccountsService();
            a.RequestHeadersValue = new AltasoftAPI.AccountsAPI.RequestHeaders() { ApplicationKey = "BusinessCreditClient", RequestId = Guid.NewGuid().ToString() };
            #endregion

            var lll = new List<AccountStatement>();

            var result = new List<string>();

            result.Add("GE10AL0500000450100514");
            result.Add("GE59AL0300000450100514");
            result.Add("GE84AL0000000450100514");
            result.Add("GE15AL0100000045010012");
            result.Add("GE38AL0000000045010621");
            result.Add("GE11AL0000000045010622");
            result.Add("GE12AL0700000045010621");
            result.Add("GE34AL0600000450100514");
            result.Add("GE81AL0000000045010623");
            result.Add("GE54AL0000000045010624");
            result.Add("GE26AL0400000045010625");

            foreach (var item in result)
            {
                AccountStatement bal = a.GetStatement(new InternalAccountIdentification() { IBAN = item, Ccy = "GEL" }, new Period() { Start = startDate, End = endDate }, false, false, TransactionStatus.Green, true, 0, false);

                lll.Add(bal);
            }

            foreach (var item in lll)
                list.AddRange(item.Records.ToList());

            foreach (var item in list)
            {
                list2.Add(new Kunchik()
                {
                    AccountNumber = item.PartnerAccountId.AccountNumber,
                    AccountNumberSpecified = item.PartnerAccountId.AccountNumberSpecified,
                    Balance = item.Balance,
                    BalanceEqu = item.BalanceEqu,
                    BalanceEquSpecified = item.BalanceEquSpecified,
                    BranchId = item.PartnerAccountId.BranchId,
                    BranchIdSpecified = item.PartnerAccountId.BranchIdSpecified,
                    Ccy = item.PartnerAccountId.Ccy,
                    CreditAmount = item.CreditAmount,
                    CreditAmountEqu = item.CreditAmountEqu,
                    CreditAmountEquSpecified = item.CreditAmountEquSpecified,
                    CreditAmountSpecified = item.CreditAmountSpecified,
                    Date = item.Date,
                    DebitAmount = item.DebitAmount,
                    DebitAmountEqu = item.DebitAmountEqu,
                    DebitAmountEquSpecified = item.DebitAmountEquSpecified,
                    DebitAmountSpecified = item.DebitAmountSpecified,
                    DocNum = item.DocNum,
                    DocNumSpecified = item.DocNumSpecified,
                    ExtraDescription = item.ExtraDescription,
                    IBAN = item.PartnerAccountId.IBAN,
                    Id = item.PartnerAccountId.Id,
                    IdSpecified = item.PartnerAccountId.IdSpecified,
                    OpCode = item.OpCode,
                    OrderDate = item.OrderDate,
                    OrderDateSpecified = item.OrderDateSpecified,
                    OrderId = item.OrderId,
                    Purpose = item.Purpose,
                    Status = item.Status,
                    TransactionType = item.TransactionType
                });
            }

            TaxOrderGenerator.ExportToExcel(new SortableBindingList<object>(list2), typeof(Kunchik));

            //var list2 = list.GroupBy(x => x.Date);

            //var list3 = new List<BalanceReportModel>();

            //foreach (var item in list2)
            //{
            //    list3.Add(new BalanceReportModel()
            //    {
            //        Date = item.FirstOrDefault().Date,
            //        Balance = item.Sum(x => x.Balance)
            //    });
            //}

            //return new SortableBindingList<BalanceReportModel>(list3);

            return null;
        }