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);
        }
Example #2
0
        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());
        }
Example #3
0
        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);
        }
Example #4
0
        public async Task <IEnumerable <Integration> > Search(SearchQueryIntegration searchQuery)
        {
            var integrations = await _repository.Search(searchQuery);

            return(integrations);
        }
Example #5
0
        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)}"));
 }