Example #1
0
        public async Task <IEnumerable <ReferentialBulkEditDto> > SearchBulkEditReferentialCounterPartyListAsync(string company, EntitySearchRequest searchRequest)
        {
            var grideCode = "bulkEditGrid";

            var grid = await _gridQueries.GetGrid(grideCode, company);

            if (grid == null)
            {
                throw new AtlasTechnicalException($"No grid configuration found for {grideCode}.");
            }

            if (grid.MaxNumberOfRecords.HasValue && grid.MaxNumberOfRecords < searchRequest.Limit)
            {
                searchRequest.Limit = grid.MaxNumberOfRecords;
            }

            var dynamicQueryDefinition = AutoMapper.Mapper.Map <DynamicQueryDefinition>(searchRequest);

            var columnConfiguration = AutoMapper.Mapper.Map <List <ColumnConfiguration> >(grid.Columns);

            var companyDate = await _systemDateTimeService.GetCompanyDate(company);

            var buildQueryResult = DynamicQueryBuilder.BuildQuery(company, _identityService.GetUserName(), dynamicQueryDefinition, "[Configuration].[Vw_BulkEditCounterPartyListAndSearch]", columnConfiguration, companyDate);

            var referentialCounterPartySearchResult = await ExecuteDynamicQueryAsync <ReferentialBulkEditDto>(buildQueryResult.Sql, buildQueryResult.Parameters);

            return(referentialCounterPartySearchResult.ToList());
        }
Example #2
0
        public async Task <IEnumerable <SectionSummaryDto> > GetTradesForAllocationAsync(string company, EntitySearchRequest searchRequest)
        {
            var grideCode = "tradeForTradeAllocationList";

            var grid = await _gridQueries.GetGrid(grideCode, company);

            if (grid == null)
            {
                throw new AtlasTechnicalException($"No grid configuration found for {grideCode}.");
            }

            if (grid.MaxNumberOfRecords.HasValue && grid.MaxNumberOfRecords < searchRequest.Limit)
            {
                searchRequest.Limit = grid.MaxNumberOfRecords;
            }

            var dynamicQueryDefinition = _mapper.Map <DynamicQueryDefinition>(searchRequest);

            var columnConfiguration = _mapper.Map <List <ColumnConfiguration> >(grid.Columns);

            var companyDate = await _systemDateTimeService.GetCompanyDate(company);

            var dataVersionId = searchRequest.DataVersionId ?? await _systemDateTimeService.GetCompanyCurrentDataVersionId(company);

            var buildQueryResult = DynamicQueryBuilder.BuildQuery(company, _identityService.GetUserName(), dynamicQueryDefinition, "[Configuration].[Vw_TradeForTradeAllocationListAndSearch]", columnConfiguration, companyDate, dataVersionId);

            var tradeAllocationResult = await ExecuteDynamicQueryAsync <SectionSummaryDto>(buildQueryResult.Sql, buildQueryResult.Parameters);

            return(tradeAllocationResult.ToList());
        }
Example #3
0
        protected virtual async Task <IEnumerable <T> > SearchAsync <T>(string company, EntitySearchRequest searchRequest, string gridCode, string viewName, bool skipPaginationLimit = false)
        {
            var grid = await _gridQueries.GetGrid(gridCode, company);

            if (grid == null)
            {
                throw new AtlasTechnicalException($"No grid configuration found for {gridCode}.");
            }

            if (!skipPaginationLimit && grid.MaxNumberOfRecords.HasValue && grid.MaxNumberOfRecords < searchRequest.Limit)
            {
                searchRequest.Limit = grid.MaxNumberOfRecords;
            }

            var dynamicQueryDefinition = _mapper.Map <DynamicQueryDefinition>(searchRequest);

            var columnConfiguration = _mapper.Map <List <ColumnConfiguration> >(grid.Columns);

            var companyDate = await _systemDateTimeService.GetCompanyDate(company);

            var userDepartments = (await _userService.GetUserByIdAsync(_identityService.GetUserAtlasId(), false)).Permissions
                                  .FirstOrDefault(permission => permission.CompanyId == company)
                                  ?.Departments.Select(department => department.DepartmentId).ToList();

            var dataVersionId = searchRequest.DataVersionId ?? await _systemDateTimeService.GetCompanyCurrentDataVersionId(company);

            var buildQueryResult = DynamicQueryBuilder.BuildQuery(company, _identityService.GetUserName(), dynamicQueryDefinition, viewName, columnConfiguration, companyDate, dataVersionId, userDepartments);

            var results = await ExecuteDynamicQueryAsync <T>(buildQueryResult.Sql, buildQueryResult.Parameters);

            return(results.ToList());
        }
Example #4
0
        public async Task <IEnumerable <ContractsToInvoiceDto> > SearchContractToPurchaseInvoiceAsync(string company, EntitySearchRequest searchRequest)
        {
            var grideCode = "invoicePurcGoodsSelectionGrid";

            var grid = await _gridQueries.GetGrid(grideCode, company);

            if (grid == null)
            {
                throw new AtlasTechnicalException($"No grid configuration found for {grideCode}.");
            }

            if (grid.MaxNumberOfRecords.HasValue && grid.MaxNumberOfRecords < searchRequest.Limit)
            {
                searchRequest.Limit = grid.MaxNumberOfRecords;
            }

            var dynamicQueryDefinition = _mapper.Map <DynamicQueryDefinition>(searchRequest);

            var columnConfiguration = _mapper.Map <List <ColumnConfiguration> >(grid.Columns);

            var companyDate = await _systemDateTimeService.GetCompanyDate(company);

            var dataVersionId = searchRequest.DataVersionId ?? await _systemDateTimeService.GetCompanyCurrentDataVersionId(company);

            var userDepartments = (await _userService.GetUserByIdAsync(_identityService.GetUserAtlasId(), false)).Permissions
                                  .FirstOrDefault(permission => permission.CompanyId == company)
                                  .Departments.Select(department => department.DepartmentId).ToList();

            var buildQueryResult = DynamicQueryBuilder.BuildQuery(company, _identityService.GetUserName(), dynamicQueryDefinition, "[Configuration].[Vw_PurchaseGoodsContractsListAndSearch]", columnConfiguration, companyDate, dataVersionId, userDepartments);

            var contractsResults = await ExecuteDynamicQueryAsync <ContractsToInvoiceDto>(buildQueryResult.Sql, buildQueryResult.Parameters);

            return(contractsResults.ToList());
        }
Example #5
0
        public async Task <IEnumerable <SectionAssignedToCharterDto> > SearchCharterAssignmentsAsync(string company, EntitySearchRequest searchRequest, GridDto grid)
        {
            var dynamicQueryDefinition = _mapper.Map <DynamicQueryDefinition>(searchRequest);

            var columnConfiguration = _mapper.Map <List <ColumnConfiguration> >(grid.Columns);

            var companyDate = await _systemDateTimeService.GetCompanyDate(company);

            var dataVersionId = searchRequest.DataVersionId ?? await _systemDateTimeService.GetCompanyCurrentDataVersionId(company);

            var buildQueryResult = DynamicQueryBuilder.BuildQuery(company, _identityService.GetUserName(), dynamicQueryDefinition, "[Configuration].[Vw_CharterSectionAssignmentListAndSearch]", columnConfiguration, companyDate, dataVersionId);

            var charterAssignmentSections = await ExecuteDynamicQueryAsync <SectionAssignedToCharterDto>(buildQueryResult.Sql, buildQueryResult.Parameters);

            return(charterAssignmentSections.ToList());
        }
Example #6
0
        public async Task <IEnumerable <CounterpartyDto> > GetBankBrokerAsync(string company, EntitySearchRequest searchRequest, GridDto grid)
        {
            var dynamicQueryDefinition = AutoMapper.Mapper.Map <DynamicQueryDefinition>(searchRequest);
            var columnConfiguration    = AutoMapper.Mapper.Map <List <ColumnConfiguration> >(grid.Columns);

            BuildQueryResult buildQueryResult;

            var companyDate = await _systemDateTimeService.GetCompanyDate(company);

            var dataVersionId = await _systemDateTimeService.GetCompanyCurrentDataVersionId(company);

            buildQueryResult = DynamicQueryBuilder.BuildQuery(company, _identityService.GetUserName(), dynamicQueryDefinition,
                                                              "[Configuration].[Vw_BankBrokerCounterPartyListAndSearch]", columnConfiguration, companyDate, null, null);
            var bankResults = await ExecuteDynamicQueryAsync <CounterpartyDto>(buildQueryResult.Sql, buildQueryResult.Parameters);

            return(bankResults.ToList());
        }
Example #7
0
        /// <summary>
        /// Returns the list of trades for bulk edit
        /// </summary>
        /// <param name="company"> The company code</param>
        /// <param name="searchRequest">List and search request</param>
        /// <param name="grid"> the grid details</param>
        public async Task <IEnumerable <SectionBulkEditDto> > GetContractsForBulkEdit(string company, EntitySearchRequest searchRequest, GridDto grid)
        {
            var dynamicQueryDefinition = _mapper.Map <DynamicQueryDefinition>(searchRequest);

            var columnConfiguration = _mapper.Map <List <ColumnConfiguration> >(grid.Columns);

            var companyDate = await _systemDateTimeService.GetCompanyDate(company);

            var userDepartments = (await _userService.GetUserByIdAsync(_identityService.GetUserAtlasId(), false)).Permissions
                                  .FirstOrDefault(permission => permission.CompanyId == company)
                                  .Departments.Select(department => department.DepartmentId).ToList();

            var dataVersionId = searchRequest.DataVersionId ?? await _systemDateTimeService.GetCompanyCurrentDataVersionId(company);

            var buildQueryResult = DynamicQueryBuilder.BuildQuery(company, _identityService.GetUserName(), dynamicQueryDefinition, "[Configuration].[Vw_TradeListAndSearch]", columnConfiguration, companyDate, dataVersionId, userDepartments);

            var bulkEditResults = await ExecuteDynamicQueryAsync <SectionBulkEditDto>(buildQueryResult.Sql, buildQueryResult.Parameters);

            return(bulkEditResults.ToList());
        }