Exemple #1
0
        /// <summary>
        /// Get DivisionsList
        /// </summary>
        /// <returns></returns>
        public async Task <List <DivisionCacheItem> > GetDivisionList(AutoSearchInput input)
        {
            var cacheItem = await _divisioncache.GetDivisionCacheItemAsync(
                CacheKeyStores.CalculateCacheKey(CacheKeyStores.DivisionKey, Convert.ToInt32(_customAppSession.TenantId)));

            return(cacheItem.ToList().Where(p => p.IsDivision == true)
                   .WhereIf(!string.IsNullOrEmpty(input.Query), p => p.JobNumber.EmptyIfNull().ToUpper().Contains(input.Query.ToUpper()) ||
                            p.Caption.EmptyIfNull().ToUpper().Contains(input.Query.ToUpper())).ToList());
        }
Exemple #2
0
        /// <summary>
        /// Checking DuplicateRecords
        /// </summary>
        /// <param name="divisionsList"></param>
        ///  <param name="coaId"></param>
        /// <returns></returns>
        private async Task <List <JobUnitDto> > ValidateDuplicateRecords(List <CreateJobUnitInput> divisionsList, int coaId)
        {
            var divisionNumberList = string.Join(",", divisionsList.Select(p => p.JobNumber).ToArray());
            //Geting all divisions from cache
            var duplicatedivisions = await _divisioncache.GetDivisionCacheItemAsync(
                CacheKeyStores.CalculateCacheKey(CacheKeyStores.DivisionKey, Convert.ToInt32(AbpSession.GetTenantId())));

            var duplicatedivisionItems = duplicatedivisions.Where(p => p.IsDivision == true).ToList();

            //get duplicate division list
            var duplicatedivisionList =
                duplicatedivisionItems.Where(
                    p => divisionNumberList.Contains(p.JobNumber)).ToList();


            //duplicatedivisionNumbers of divisionList
            var duplicatedivisionsdivisionNumberList = (from p in divisionsList
                                                        join p2 in duplicatedivisionList on p.JobNumber equals p2.JobNumber
                                                        select new { division = p, ErrorMesage = L("DuplicatedivisionNumber") + p.JobNumber }).ToList();

            //invalid divisionList
            var errordivisions = duplicatedivisionsdivisionNumberList.Where(u => u.ErrorMesage.Trim().Length > 0).ToList();

            return(errordivisions.Select(division => new JobUnitDto
            {
                JobNumber = division.division.JobNumber, Caption = division.division.Caption,
                RollupCenterId = division.division.RollupCenterId,
                IsCorporateDefault = division.division.IsCorporateDefault,
                ChartOfAccountId = coaId, RollupAccountId = division.division.RollupAccountId,
                TypeOfCurrencyId = division.division.TypeOfCurrencyId, RollupJobId = division.division.RollupJobId,
                TypeOfJobStatusId = division.division.TypeOfJobStatusId,
                TypeOfBidSoftwareId = division.division.TypeOfBidSoftwareId,
                IsActive = division.division.IsActive,
                IsApproved = division.division.IsApproved,
                IsICTDivision = division.division.IsICTDivision,
                TypeofProjectId = division.division.TypeofProjectId,
                TaxRecoveryId = division.division.TaxRecoveryId,
                TypeOfCurrency = division.division.TypeOfCurrency,
                ErrorMessage = division.ErrorMesage.TrimEnd(',').TrimStart(',')
            }).ToList());
        }