private async Task <int?> SearchForIntegrationId(SearchQueryEntityMap searchQuery) { int?integrationId = null; if (searchQuery.UnitId > 0 && searchQuery.ExternalSystemId > 0 && searchQuery.IntegrationCategory > 0) { var integrationQuery = new SearchQueryIntegration(searchQuery.UnitId, searchQuery.IntegrationCategory, searchQuery.ExternalSystemId); var unitIds = await _unitQueries.GetHierarchyUp(searchQuery.UnitId); integrationQuery.UnitIds = unitIds.Select(u => u.Id).ToList(); var integrations = await _integrationService.Search(integrationQuery); integrationId = integrations?.FirstOrDefault()?.Id; } return(integrationId); }
public static async Task <Integration> GetTimeregIntegration(this IIntegrationService integrationService, int?unitId) { Integration toReturn = null; if (!unitId.HasValue) { return(toReturn); } var searchQuery = new SearchQueryIntegration { UnitId = unitId.Value, Category = (int)Category.Timereg, }; var integrations = await integrationService.Search(searchQuery); return(integrations.FirstOrDefault()); }
public async Task <Integration> CreateIntegration(Integration integration) { var validation = _validator.ValidateCreate(integration); if (!validation.IsValid) { throw new ValidationException(validation.Errors); } var searchQuery = new SearchQueryIntegration(integration.UnitId, integration.Category, integration.ExternalSystem); var existIntegrations = await Search(searchQuery); if (existIntegrations.Any()) { throw new ValidationException("Integration for this company and category already exist"); } var createdIntegration = await _repository.Create(integration); return(createdIntegration); }
public async Task <IEnumerable <Integration> > Search(SearchQueryIntegration searchQuery) { var integrations = await _repository.Search(searchQuery); return(integrations); }
public async Task <ActionResult <IEnumerable <contracts.Integration> > > Search([FromQuery] SearchQueryIntegration query) { var mapIntegration = _mapper.Map <SearchQueryIntegration, domain.SearchQueryIntegration>(query); var integrationsResult = await _integrationService.Search(mapIntegration); var integrationResultContracts = _mapper.Map <IEnumerable <domain.Integration>, IEnumerable <contracts.Integration> >(integrationsResult); return(Ok(integrationResultContracts)); }
public async Task <IEnumerable <Integration> > Search(SearchQueryIntegration searchQuery) { return(await Request <IEnumerable <Integration> >($"{_customerIdService.GetCustomerId()}/integrations?{WebUtility.GetQueryString(searchQuery)}")); }