public async Task <ActionResult <CollectionViewModel <ChildSectionsSearchResultDto> > > GetChileSectionData( string company, EntitySearchRequest searchRequest) { long sectionId = 0; string sectionRef = null; foreach (var clause in searchRequest.Clauses.Clauses) { if (clause.FieldId == 0) { sectionId = long.Parse(clause.Value1, CultureInfo.InvariantCulture); } else { sectionRef = clause.Value1; } } IEnumerable <ChildSectionsSearchResultDto> tradeReportContracts = await _sectionQueries.GetTradeChildSectionDataAsync(company, sectionId, sectionRef); var response = new CollectionViewModel <ChildSectionsSearchResultDto>(tradeReportContracts.ToList()); return(Ok(response)); }
public async Task <IEnumerable <PhysicalDocumentSearchResultDto> > GetPhysicalDocumentsAsync( string company, EntitySearchRequest searchRequest) { var grideCode = "physicalDocumentList"; 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 buildQueryResult = DynamicQueryBuilder.BuildQuery(company, _identityService.GetUserName(), dynamicQueryDefinition, "[Configuration].[Vw_PhysicalDocumentListAndSearch]", columnConfiguration, companyDate); var documentResults = await ExecuteDynamicQueryAsync <PhysicalDocumentSearchResultDto>(buildQueryResult.Sql, buildQueryResult.Parameters); return(documentResults.ToList()); }
public async Task <IEnumerable <PhysicalDocumentSearchResultDto> > SearchPhysicalDocumentsAsync( string company, EntitySearchRequest searchRequest) { var grideCode = "DocumentListAndSearchGrid"; 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 userDepartments = (await _userService.GetUserByIdAsync(_identityService.GetUserAtlasId(), false)).Permissions .FirstOrDefault(permission => permission.CompanyId == company) .Departments.Select(department => department.DepartmentId).ToList(); var dataVersionId = await _systemDateTimeService.GetCompanyCurrentDataVersionId(company); var buildQueryResult = DynamicQueryBuilder.BuildQuery(company, _identityService.GetUserName(), dynamicQueryDefinition, "[Configuration].[Vw_DocumentListAndSearch]", columnConfiguration, companyDate, dataVersionId, userDepartments); var documentResults = await ExecuteDynamicQueryAsync <PhysicalDocumentSearchResultDto>(buildQueryResult.Sql, buildQueryResult.Parameters); return(documentResults.ToList()); }
public async Task <IActionResult> SearchPhysicalContractsExport( string company, EntitySearchRequest searchRequest, [FromQuery] string format = ListAndSearchExportFormat.Excel) { var stream = await _tradingListAndSearch.ExportSearchSectionsToStreamAsync(company, searchRequest, format); return(File(stream, ExportToExcelHelper.XlsxMimeType, _tradingListAndSearch.GetExportFileName(company))); }
public async Task <ActionResult <PaginatedCollectionViewModel <AccountingDocumentLineDto> > > GetAccoutingDocumentDataList( string company, EntitySearchRequest searchRequest) { var searchResult = await _accountingDocumentQueries.GetAccoutingDocumentDataListAsync(company, searchRequest); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <PostingSummaryDto> > > GetPostingManagement( string company, EntitySearchRequest searchRequest) { var searchResult = await _accountingDocumentQueries.GetPostingManagementAccountingDocAsync(company, searchRequest); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <AccountingSearchResultDto> > > SearchAccountingLinesbyAccountingId( string company, EntitySearchRequest searchRequest) { var searchResult = await _accountingDocumentQueries.GetAccountingLinesByAccountIdAsync(company, searchRequest); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <TransactionDocumentSearchResultDto> > > SearchTransactionDocumentEntries( string company, EntitySearchRequest searchRequest) { var searchResult = await _accountingDocumentQueries.SearchTransactionDocumentEntriesAsync(company, searchRequest); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <ReferentialBulkEditDto> > > SearchBulkEditReferentialCounterparties( string company, EntitySearchRequest searchRequest) { var searchResult = await _clientDetailsQueries.SearchBulkEditReferentialCounterPartyListAsync(company, searchRequest); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <SectionSearchResultDto> > > SearchPhysicalContracts( string company, EntitySearchRequest searchRequest) { var searchResult = await _tradingListAndSearch.SearchSectionsAsync(company, searchRequest); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <FxDealSearchResultDto> > > SearchFxDeals( string company, EntitySearchRequest searchRequest) { var searchResult = await _fxDealQueries.SearchFxDealsAsync(company, searchRequest); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <CharterSummaryDto> > > SearchCharters( string company, EntitySearchRequest searchRequest) { var searchResult = await _charterQueries.SearchChartersAsync(company, searchRequest); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <SectionSummaryDto> > > GetTradeForAllocation( string company, EntitySearchRequest searchRequest) { var searchResult = await _physicalContractQueries.GetTradesForAllocationAsync(company, searchRequest); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <PhysicalDocumentSearchResultDto> > > GetGeneratedDocuments( string company, EntitySearchRequest searchRequest) { var searchResult = await _documentQueries.GetPhysicalDocumentsAsync(company, searchRequest); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <TradeReportResultDto> > > GetTradeReportData( string company, EntitySearchRequest searchRequest) { var searchResult = await _sectionQueries.GetTradeReportDataAsync(company, searchRequest); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <CashDto> > > SearchCashReceiptList( string company, EntitySearchRequest searchRequest) { var searchResult = await _cashQueries.SearchCashReceiptListAsync(company, searchRequest); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <InvoicesForReversalDto> > > SearchContractsForReversalInvoice( string company, EntitySearchRequest searchRequest) { var searchResult = await _invoiceQueries.SearchReversalContractsToInvoiceAsync(company, searchRequest); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <InvoiceDetailsDto> > > SearchInvoices( string company, EntitySearchRequest searchRequest) { var searchResult = await _invoiceQueries.SearchInvoicesAsync(company, searchRequest); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <DocumentReferenceSearchResultDto> > > SearchDocumentReferenceEntries( string company, EntitySearchRequest searchRequest, bool isReversalDocument) { var searchResult = await _accountingDocumentQueries.SearchDocumentReferenceEntriesAsync(company, searchRequest, isReversalDocument); var response = searchResult.ToPaginatedCollectionViewModel(searchRequest); return(Ok(response)); }
public async Task <ActionResult <PaginatedCollectionViewModel <CounterpartyDto> > > SearchBank( string company, EntitySearchRequest searchRequest) { var grid = await _gridQueries.GetGrid("counterpartiesGrid", company); IEnumerable <CounterpartyDto> traders = await _fxDealQueries.GetBankBrokerAsync(company, searchRequest, grid); var response = new PaginatedCollectionViewModel <CounterpartyDto>(searchRequest.Offset.Value, searchRequest.Limit.Value, traders.ToList(), null); return(Ok(response)); }
public async Task <Stream> ExportSearchSectionsToStreamAsync(string company, EntitySearchRequest searchRequest, string format = ListAndSearchExportFormat.Excel) { var searchResult = await SearchSectionsAsync(company, searchRequest, true); var dataTable = await ConvertSearchResultToDataTableAsync(company, tradeGridCode, searchRequest.GridViewId, searchResult); var formatedClauses = await GenerateFormatedClauses(company, searchRequest, tradeGridCode); var stream = ExportToExcelHelper.Export(dataTable, new ExcelFileProperties { Author = _identityService.GetUserPrincipalName(), Company = $"LDC - {company}", Title = "Atlas Trades Export", }, formatedClauses); return(stream); }
public async Task <IActionResult> GetDomainsSearchResults(EntitySearchRequest request) { ValidationResult validationResult = _searchLimitExcludedIdsRequestValidator.Validate(request); if (!validationResult.IsValid) { string email = User.GetEmail(); _log.LogWarning($"User {email} made bad request: {validationResult.GetErrorString()}"); return(BadRequest(new ErrorResponse(validationResult.GetErrorString()))); } List <Domain.Domain> domains = await _domainDao.GetDomainsByName(request.Search, request.Limit, request.IncludedIds); return(new ObjectResult(domains)); }
public async Task <IActionResult> GetUsersSearchResults(EntitySearchRequest request) { ValidationResult validationResult = _searchLimitExcludedIdsRequestValidator.Validate(request); if (!validationResult.IsValid) { string email = User.FindFirst(_ => _.Type == ClaimTypes.Email)?.Value; _log.LogWarning($"User {email} made bad request: {validationResult.GetErrorString()}"); return(BadRequest(new ErrorResponse(validationResult.GetErrorString()))); } List <User> users = await _userDao.GetUsersByFirstNameLastNameEmail(request.Search, request.Limit, request.IncludedIds); return(new ObjectResult(users)); }
internal async Task <ValidatedAccountingImport> ProcessManualAccountingImport(List <AccountingCsvLine> csvAccountingData, bool IsMTMSelected, string company) { ValidatedAccountingImport validatedAccountingImport = new ValidatedAccountingImport(); List <AccountingDocumentImport> accountingRecordList = new List <AccountingDocumentImport>(); IEnumerable <NominalAccount> nominalAccount = (await _masterDataService.GetNominalAccountsAsync(company)).ToList(); List <AccountingCsvLine> goodDataList = new List <AccountingCsvLine>(); IEnumerable <Counterparty> counterParty = (await _masterDataService.GetCounterpartiesAsync(company)).ToList(); IEnumerable <AccountLineTypes> accountLineTypes = (await _masterDataService.GetAllAsync()).ToList(); IEnumerable <CostType> costType = (await _masterDataService.GetCostTypesAsync(company)).ToList(); IEnumerable <Department> departmentId = (await _masterDataService.GetDepartmentsAsync(company)).ToList(); IEnumerable <Commodity> commodity = (await _masterDataService.GetCommoditiesAsync(company)).ToList(); string[] chartercompany = new string[1]; chartercompany[0] = company; IEnumerable <CharterManager> charterManager = (await _masterDataService.GetCharterManagersAsync(chartercompany)).ToList(); IEnumerable <Currency> settlementCurrencyList = (await _masterDataService.GetCurrenciesAsync()).ToList(); IEnumerable <Province> provinces = (await _masterDataService.GetProvincesAsync()).ToList(); EntitySearchRequest request = new EntitySearchRequest { Clauses = null, Limit = 214748647, Offset = 0, SortColumns = null }; var searchResultTransactionDocumentEntries = await _accountingDocumentQueries.SearchTransactionDocumentEntriesAsync(company, request); IEnumerable <TransactionDocumentSearch> searchResultTransactionDocument; searchResultTransactionDocument = _mapper.Map <IEnumerable <TransactionDocumentSearch> >(searchResultTransactionDocumentEntries); IEnumerable <SectionSearchResult> searchResultSectionId = await _accountingDocumentQueries.SearchSectionsAsync(company, request); IEnumerable <FxDealSearchResult> searchResultFxDeal = await _accountingDocumentQueries.SearchFxDealsAsync(company, request); var validatedAccounting = ValidateData(IsMTMSelected, csvAccountingData, nominalAccount, counterParty, accountLineTypes, costType, departmentId, charterManager, commodity, settlementCurrencyList, searchResultTransactionDocument, provinces, searchResultSectionId, searchResultFxDeal); foreach (var data in validatedAccounting.GoodData.LineNumber.ToList()) { var accontingValueListImport = csvAccountingData.Where(x => x.LineNumber == data).FirstOrDefault(); if (accontingValueListImport != null) { goodDataList.Add(accontingValueListImport); } } validatedAccountingImport.GoodDataList = goodDataList; validatedAccountingImport.GoodData = validatedAccounting.GoodData; validatedAccountingImport.BlockerData = validatedAccounting.BlockerData; return(validatedAccountingImport); }
public async Task <ActionResult <PaginatedCollectionViewModel <SectionAssignedToCharterDto> > > SearchCharterAssignments( string company, EntitySearchRequest searchRequest) { var grid = await _gridQueries.GetGrid("charterSectionToAssign", company); if (grid == null) { throw new Exception("No grid configuration found for charterSectionToAssign."); } IEnumerable <SectionAssignedToCharterDto> charterAssignmentSections = await _charterQueries.SearchCharterAssignmentsAsync(company, searchRequest, grid); var response = new PaginatedCollectionViewModel <SectionAssignedToCharterDto>(searchRequest.Offset.Value, searchRequest.Limit.Value, charterAssignmentSections.ToList(), null); return(Ok(response)); }
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()); }
public async Task <IEnumerable <ReferentialCounterPartySearchResultDto> > SearchReferentialCounterPartyListAsync(string company, EntitySearchRequest searchRequest, bool showDuplicateCounterpartyData = false) { var grideCode = "referentialCounterPartiesGrid"; 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_ReferentialCounterPartyListAndSearch]", columnConfiguration, companyDate); var referentialCounterPartySearchResult = await ExecuteDynamicQueryAsync <ReferentialCounterPartySearchResultDto>(buildQueryResult.Sql, buildQueryResult.Parameters); if (showDuplicateCounterpartyData == false) { var result = referentialCounterPartySearchResult.ToList(); return(result.GroupBy(counterpartyData => counterpartyData.CounterpartyCode).Select(duplicateRow => duplicateRow.First())); } return(referentialCounterPartySearchResult.ToList()); }
public async Task Test(EntitySearchRequest request, bool isValid) { ValidationResult validationResult = await _entitySearchRequestValidator.ValidateAsync(request); Assert.That(validationResult.IsValid, Is.EqualTo(isValid)); }
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()); }
protected virtual async Task <List <string> > GenerateFormatedClauses(string company, EntitySearchRequest searchRequest, string grideCode) { var grid = await _gridQueries.GetGrid(grideCode, company); var dynamicQueryDefinition = _mapper.Map <DynamicQueryDefinition>(searchRequest); var columnConfiguration = _mapper.Map <List <ColumnConfiguration> >(grid.Columns); List <string> formatedClauses = new List <string>(); foreach (var clause in dynamicQueryDefinition.Clauses.Clauses) { var formatedClause = DynamicQueryBuilder.FormatClause(clause, columnConfiguration); formatedClauses.Add(formatedClause); } return(formatedClauses); }