Exemple #1
0
        /// <summary>
        /// Get Vendors List by using vendor Numbers
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        private async Task <List <NameValueDto> > GetVendorsListByNames(NameValueInputList input)
        {
            var vendorsList = await _vendorCache.GetVendorsCacheItemAsync(CacheKeyStores.CalculateCacheKey(CacheKeyStores.VendorKey, Convert.ToInt32(_customAppSession.TenantId)));

            var strVendorNames = input.NameValueList.Select(u => u.Name).ToArray();

            var vendorFirstNameList = vendorsList.ToList().Where(u => strVendorNames.Contains(u.FirstName))
                                      .Select(u => new NameValueDto()
            {
                Name  = u.FirstName,
                Value = u.VendorId.ToString()
            }).ToList();

            var vendorLastNameList = vendorsList.ToList().Where(u => strVendorNames.Contains(u.LastName))
                                     .Select(u => new NameValueDto()
            {
                Name  = u.LastName,
                Value = u.VendorId.ToString()
            }).ToList();

            var vendorList = vendorFirstNameList.Union(vendorLastNameList).DistinctBy(u => u.Name);
            var result     = (from vendorNames in input.NameValueList
                              join vendors in vendorList on vendorNames.Name equals vendors.Name
                              select new NameValueDto()
            {
                Name = vendorNames.Name,
                Value = vendors?.Value ?? ""
            }).ToList();

            return(result);
        }
Exemple #2
0
        /// <summary>
        /// Get Typeof1099T4 List by using Numbers
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        private List <NameValueDto> GetTypeof1099T4ListByNames(NameValueInputList input)
        {
            var result =
                (from value in input.NameValueList
                 join typeof1099T4 in EnumList.GetTypeof1099T4List() on value.Name equals typeof1099T4.Name
                 select new NameValueDto()
            {
                Name = value.Name,
                Value = typeof1099T4?.Value ?? ""
            }).ToList();

            return(result);
        }
Exemple #3
0
        /// <summary>
        /// Get accounts List by using Account Numbers
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        private async Task <List <NameValueDto> > GetAccountsListByNames(NameValueInputList input)
        {
            var accountList = await _accountCache.GetAccountCacheItemAsync(
                CacheKeyStores.CalculateCacheKey(CacheKeyStores.AccountKey, Convert.ToInt32(_customAppSession.TenantId)));

            var result = (from accNames in input.NameValueList
                          join account in accountList.ToList() on accNames.Name equals account.AccountNumber
                          select new NameValueDto()
            {
                Name = accNames.Name,
                Value = account?.AccountId.ToString() ?? ""
            }).ToList();

            return(result);
        }
Exemple #4
0
        /// <summary>
        /// Get Jobs or Divisions List by using Job Numbers
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        private async Task <List <NameValueDto> > GetJobOrDivisionListByNames(NameValueInputList input)
        {
            var jobOrDivisionList = await _divisionCache.GetDivisionCacheItemAsync(
                CacheKeyStores.CalculateCacheKey(CacheKeyStores.DivisionKey, Convert.ToInt32(_customAppSession.TenantId)));

            var result = (from jobNames in input.NameValueList
                          join jobOrdivision in jobOrDivisionList.ToList() on jobNames.Name equals jobOrdivision.JobNumber
                          select new NameValueDto()
            {
                Name = jobNames.Name,
                Value = jobOrdivision?.JobId.ToString() ?? ""
            }).ToList();

            return(result);
        }
Exemple #5
0
        /// <summary>
        /// Get SubAccounts List by using SubAccount Numbers
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        private async Task <List <NameValueDto> > GetSubAccountsListByNames(NameValueInputList input)
        {
            var cacheItem = await _subAccountCache.GetSubAccountCacheItemAsync(
                CacheKeyStores.CalculateCacheKey(CacheKeyStores.SubAccountKey, Convert.ToInt32(_customAppSession.TenantId)));

            var subAccountRestrictioncacheItem = await _subAccountRestrictionCache.GetSubAccountRestrictionCacheItemAsync(
                CacheKeyStores.CalculateCacheKey(CacheKeyStores.SubAccountRestrictionKey, Convert.ToInt32(_customAppSession.TenantId)));

            var subAccountRestrictionList = from subaccount in cacheItem.ToList()
                                            join subAccountRestriction in subAccountRestrictioncacheItem
                                            on subaccount.SubAccountId equals subAccountRestriction.SubAccountId
                                            select subaccount;

            var result = (from subaccountNumber in input.NameValueList
                          join subAccount in subAccountRestrictionList.ToList() on subaccountNumber.Name equals subAccount.SubAccountNumber
                          select new NameValueDto()
            {
                Name = subaccountNumber.Name,
                Value = subAccount?.SubAccountId.ToString() ?? ""
            }).ToList();

            return(result);
        }
Exemple #6
0
        /// <summary>
        /// Get Vendors, Accounts, Job or Division, Tax Credit and Sub Account List values by Type
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <List <NameValueDto> > GetListByNames(NameValueInputList input)
        {
            var list = new List <NameValueDto>();

            switch (input.Type)
            {
            case "vendors":
                list = await GetVendorsListByNames(input);

                break;

            case "accounts":
                list = await GetAccountsListByNames(input);

                break;

            case "jobordivision":
                list = await GetJobOrDivisionListByNames(input);

                break;

            case "subaccounts":
                list = await GetSubAccountsListByNames(input);

                break;

            case "taxcredit":
                list = await GetTaxCreditListByNames(input);

                break;

            case "1099T4":
                list = GetTypeof1099T4ListByNames(input);
                break;
            }
            return(list);
        }
Exemple #7
0
        /// <summary>
        /// Get TaxCredit List by using Numbers
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        private async Task <List <NameValueDto> > GetTaxCreditListByNames(NameValueInputList input)
        {
            var strTaxCreditNumber = string.Join(",", input.NameValueList.Select(u => u.Name).ToArray());
            var query = _taxCreditUnitRepository.GetAll()
                        .WhereIf(!ReferenceEquals(input.OrganizationUnitId, null),
                                 p => p.OrganizationUnitId == input.OrganizationUnitId.Value)
                        .Where(u => u.IsActive)
                        .Where(u => strTaxCreditNumber.Contains(u.Number))
                        .Select(u => new { Name = u.Number, Value = u.Id.ToString() });

            var taxCreditList = await query
                                .AsNoTracking()
                                .ToListAsync();

            var result = (from taxCreditNames in input.NameValueList
                          join taxCredit in taxCreditList on taxCreditNames.Name equals taxCredit.Name
                          select new NameValueDto()
            {
                Name = taxCreditNames.Name,
                Value = taxCredit?.Value ?? ""
            }).ToList();

            return(result);
        }