/// <summary>
        /// Method Handle
        /// </summary>
        /// <param name="customerIntegrationInput"></param>
        /// <returns>CustomerIntegrationOutput</returns>
        public CustomerIntegrationOutput Handle(CustomerIntegrationInput customerIntegrationInput)
        {
            try
            {
                var customers = _customerRepository
                                .GetCustomer()
                                .GetAwaiter()
                                .GetResult();

                if (customerIntegrationInput.StatusFilter != null && customerIntegrationInput.StatusFilter.Length > 0)
                {
                    customers = FilterCustomers(customerIntegrationInput, customers);
                }

                this._logger.Info("Total Registrations Count: " + customers.Count);

                _customerOnbaseService.Handle(customers);
                return(new CustomerIntegrationOutput(customers.Count));
            }
            catch (CustomerApiRequestException ex)
            {
                this._logger.Error("Error on retrieve data from api. Check exception for details.", ex);
            }
            catch (OnbaseConnectionException ex)
            {
                this._logger.Error("Cound't connect to onbase server. Check exception for details.", ex);
            }

            return(new CustomerIntegrationOutput(0));
        }
        private static List <CustomerOnboard> FilterCustomers(CustomerIntegrationInput customerIntegrationInput, List <CustomerOnboard> customers)
        {
            var filteredCustomers = new List <CustomerOnboard>();

            foreach (var customer in customers)
            {
                if (customer.ClientStatus != null && customerIntegrationInput.StatusFilter.Contains(customer.ClientStatus.Code))
                {
                    filteredCustomers.Add(customer);
                }
            }

            return(filteredCustomers);
        }