/// <summary> /// Searches the customers with given search conditions. /// </summary> /// <param name="request">The data service request.</param> /// <returns>The data service response.</returns> private EntityDataServiceResponse <GlobalCustomer> SearchCustomers(SearchCustomersDataRequest request) { ThrowIf.Null(request, "request"); ThrowIf.Null(request.QueryResultSettings, "request.QueryResultSettings"); var query = new SqlPagedQuery(request.QueryResultSettings) { From = "GETCUSTOMERSEARCHRESULTS(@bi_ChannelId, @dt_ChannelDate, @nvc_SearchText)" }; query.Parameters[DatabaseAccessor.ChannelIdVariableName] = request.RequestContext.GetPrincipal().ChannelId; query.Parameters[SearchText] = '"' + request.Keyword.Replace(" ", "* ").Replace("\"", "\"\"") + '*' + '"'; query.Parameters[LocaleVariableName] = request.RequestContext.LanguageId; query.Parameters[DatabaseAccessor.ChannelDateVariableName] = request.RequestContext.GetNowInChannelTimeZone().Date; using (DatabaseContext databaseContext = new DatabaseContext(request.RequestContext)) { return(new EntityDataServiceResponse <GlobalCustomer>(databaseContext.ReadEntity <GlobalCustomer>(query))); } }
/// <summary> /// Searches the customers with given search conditions. /// </summary> /// <param name="request">The data service request.</param> /// <returns>The data service response.</returns> private static EntityDataServiceResponse <GlobalCustomer> SearchCustomers(SearchCustomersDataRequest request) { var procedure = new SearchCustomersProcedure(request.RequestContext); PagedResult <GlobalCustomer> globalCustomers = procedure.SearchCustomers(request.Keyword, request.SearchCurrentCompanyOnly, request.QueryResultSettings); return(new EntityDataServiceResponse <GlobalCustomer>(globalCustomers)); }