예제 #1
0
        public static BankAccounts SearchBankAccount(String accountNumber, String organizationIIN, int baseType)
        {
            AppJournal.Write("1C Transport", "Search bank account", true);

            ChooseBaseType(baseType);

            var bankAccountSearch = new BankAccountSearch();

            bankAccountSearch.AccountNumber = accountNumber;
            bankAccountSearch.ClientIIN     = organizationIIN;

            try
            {
                responseData = baseConn.readBankAccount(bankAccountSearch);
            }
            catch (Exception) { }

            if (responseData.RequestSuccess)
            {
                return(responseData.ResponseObject as BankAccounts);
            }
            else
            {
                AppJournal.Write("1C Transport", "Search bank account error :" + responseData.ErrorMsg, true);
                return(null);
            }
        }
예제 #2
0
 public async Task <ActionResult <IEnumerable <BankAccount> > > GetItems(BankAccountSearch option, CancellationToken token)
 => (await bankAccountProcessor.GetAsync(option, token)).ToArray();
예제 #3
0
        public Task <IEnumerable <BankAccount> > GetAsync(BankAccountSearch option, CancellationToken token = default(CancellationToken))
        {
            var query = @"
SELECT      ba.*
          , sc.Code SectionCode          ,  sc.Name SectionName
          , rc.Code ReceiptCategoryCode  ,  rc.Name ReceiptCategoryName
                                         , bat.Name AccountTypeName
FROM        BankAccount ba
LEFT JOIN   Section sc          ON sc.Id        = ba.SectionId
LEFT JOIN   Category rc         ON rc.Id        = ba.ReceiptCategoryId
LEFT JOIN   BankAccountType bat ON bat.Id       = ba.AccountTypeId
WHERE       ba.Id               = ba.Id ";

            if (option.CompanyId.HasValue)
            {
                query += @"
AND         ba.CompanyId        = @CompanyId";
            }

            if (!string.IsNullOrWhiteSpace(option.SearchWord))
            {
                option.SearchWord = Sql.GetWrappedValue(option.SearchWord);
                query            += @"
AND         (ba.BankCode        LIKE @SearchWord
          OR ba.BankName        LIKE @SearchWord
          OR ba.BranchCode      LIKE @SearchWord
          OR ba.BranchName      LIKE @SearchWord
          OR ba.AccountNumber   LIKE @SearchWord)";
            }

            if (option.AccountTypeId > 0)
            {
                query += @"
AND         ba.AccountTypeId    = @AccountTypeId";
            }
            if (!string.IsNullOrEmpty(option.AccountNumber))
            {
                query += @"
AND         ba.AccountNumber    = @AccountNumber";
            }
            if (!string.IsNullOrEmpty(option.BankName))
            {
                query += @"
AND         ba.BankName         = @BankName";
            }
            if (!string.IsNullOrEmpty(option.BranchName))
            {
                query += @"
AND         ba.BranchName       = @BranchName";
            }
            if (option.ReceiptCategoryId.HasValue)
            {
                query += @"
AND         ba.ReceiptCategoryId = @ReceiptCategoryId";
            }
            if (option.SectionId.HasValue)
            {
                query += @"
AND         ba.SectionId        = @SectionId";
            }
            if (option.ImportSkipping.HasValue)
            {
                query += @"
AND         ba.ImportSkipping = @ImportSkipping";
            }
            if (option.Ids?.Any() ?? false)
            {
                query += @"
AND         ba.Id               IN (SELECT Id FROM @Ids)";
            }
            if (option.BankCodes?.Any() ?? false)
            {
                query += @"
AND         ba.BankCode         IN (SELECT Code FROM @BankCodes)";
            }
            if (option.BranchCodes?.Any() ?? false)
            {
                query += @"
AND         ba.BranchCode       IN (SELECT Code FROM @BranchCodes)";
            }



            query += @"
ORDER BY        ba.CompanyId        ASC
              , ba.BankCode         ASC
              , ba.BranchCode       ASC
              , ba.AccountTypeId    ASC
              , ba.AccountNumber    ASC
";

            return(dbHelper.GetItemsAsync <BankAccount>(query, new {
                option.CompanyId,
                option.AccountTypeId,
                option.AccountNumber,
                option.BankName,
                option.BranchName,
                option.ReceiptCategoryId,
                option.SectionId,
                option.ImportSkipping,
                option.SearchWord,
                Ids = option.Ids.GetTableParameter(),
                BankCodes = option?.BankCodes?.GetTableParameter(),
                BranchCodes = option?.BranchCodes?.GetTableParameter(),
            }, token));
        }
예제 #4
0
 public async Task <IEnumerable <BankAccount> > GetAsync(BankAccountSearch option, CancellationToken token = default(CancellationToken))
 => await bankAccountQueryProcessor.GetAsync(option, token);
예제 #5
0
        public async Task <BankAccountsResult> GetItemsAsync(string SessionKey, int CompanyId, BankAccountSearch BankAccountSearch)
        {
            return(await authorizationProcessor.DoAuthorizeAsync(SessionKey, async token =>
            {
                var result = (await bankAccountProcessor.GetAsync(BankAccountSearch, token)).ToList();

                return new BankAccountsResult
                {
                    ProcessResult = new ProcessResult {
                        Result = true
                    },
                    BankAccounts = result,
                };
            }, logger));
        }