private PagedList<TreatmentCustomer> PerformTreatmentSearch(SearchParameters searchParameters, int page, int pageSize)
 {
     var treatments = _treatmentService.GetTreatmentsBySearchCriteria(searchParameters);
     return new PagedList<TreatmentCustomer>(treatments, page, pageSize);
 }
        public List<TreatmentCustomer> GetTreatmentsBySearchCriteria(SearchParameters searchParameters)
        {
            _logger.DebugFormat("Recieved GetTreatmentsBySearchCriteria with searchCritera: {0}", searchParameters);

            var fromDate = DateTimeParser.ParseDateTimeFromDateToString(searchParameters.TreatmentFromDate);
            var toDate = DateTimeParser.ParseDateTimeToDateToString(searchParameters.TreatmentToDate);

            try
            {
                var result = _treatmentRepository.GetTreatmentsBySearchCriteria(searchParameters, fromDate, toDate);
                return _mappingEngine.Map<List<TreatmentCustomer>>(result);
            }
            catch (Exception ex)
            {
                _logger.ErrorFormat("Exception when calling GetTreatmentsBySearchCriteria: {0}", ex);

            }
            return null;
        }
 private PagedList<Customer> PerformCustomerSearch(SearchParameters searchParameters, int page, int pageSize)
 {
     var customers = _customerService.GetCustomersBySearchCriteria(searchParameters);
     return new PagedList<Customer>(customers, page, pageSize);
 }
        public List<CustomerEntity> GetCustomerBySearchParameters(SearchParameters searchParameters)
        {
            DynamicParameters parameters = null;
            var isWhereClauseAppended = false;
            var needForAndClause = false;

            if (!string.IsNullOrWhiteSpace(searchParameters.CustomerName))
            {
                isWhereClauseAppended = true;
                needForAndClause = true;
                if (parameters == null)
                {
                    parameters = new DynamicParameters();
                }

                SearchCustomer_Query += "WHERE ";
                SearchCustomer_Query += Query_CustomerName;
                parameters.Add("CustomerName", "%" + searchParameters.CustomerName + "%");
            }

            if (!string.IsNullOrWhiteSpace(searchParameters.PhoneNumber))
            {
                if (parameters == null)
                {
                    parameters = new DynamicParameters();
                }
                if (!isWhereClauseAppended)
                {
                    SearchCustomer_Query += "WHERE ";
                    isWhereClauseAppended = true;
                }
                if (needForAndClause)
                {
                    SearchCustomer_Query += "AND ";
                    needForAndClause = true;
                }

                SearchCustomer_Query += Query_MobilePhone;
                parameters.Add("MobilePhoneNumber", searchParameters.PhoneNumber);
            }

            if (!string.IsNullOrWhiteSpace(searchParameters.Profession))
            {
                if (parameters == null)
                {
                    parameters = new DynamicParameters();
                }

                if (!isWhereClauseAppended)
                {
                    SearchCustomer_Query += "WHERE ";
                    isWhereClauseAppended = true;
                }

                if (needForAndClause)
                {
                    SearchCustomer_Query += "AND ";
                    needForAndClause = true;
                }

                SearchCustomer_Query += Query_Profession;
                parameters.Add("Profession", searchParameters.Profession);
            }

            _logger.DebugFormat("GetCustomerBySearchParameters");
            var result = DapperConnectionSingleton.DapperConnection.Query<CustomerEntity>(SearchCustomer_Query, parameters);

            return result.ToList();
        }