v1.1.7.1
This commit is contained in:
@@ -408,15 +408,17 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
|
||||
if (!StringUtil.IsEmpty(prm.OrganisationFilter))
|
||||
{
|
||||
// Split filter into words.
|
||||
List<String> filterWords = prm.OrganisationFilter.Split((char[])null).ToList();
|
||||
List<String> searchFilter = new List<String>();
|
||||
List<String> filterWords = prm.OrganisationFilter.Split((char[])null, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
filterWords.RemoveDuplicatesCI();
|
||||
filterWords.RemoveBlanks();
|
||||
foreach (String filterWord in filterWords)
|
||||
{
|
||||
List<String> organisationFilter = new List<String>();
|
||||
organisationFilter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.Organisation_Name, aliasOrganisation) + " Like '%" + DbQuery.FormatForLike(filterWord, true) + "%'");
|
||||
filter.Add(organisationFilter.Concat(" OR ", "(", ")"));
|
||||
searchFilter.Add(organisationFilter.Concat(" OR ", "(", ")"));
|
||||
}
|
||||
filter.Add(searchFilter.Concat(" AND ", "(", ")"));
|
||||
}
|
||||
|
||||
// Sport Ids.
|
||||
|
||||
@@ -13,6 +13,7 @@ using System.Data.Common;
|
||||
using System.Text;
|
||||
using Saxonite.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using System.Linq;
|
||||
|
||||
namespace Saxonite.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
@@ -420,6 +421,10 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
|
||||
if (!idsExcluded.IsEmpty())
|
||||
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ItemAddress_Id, aliasItemAddress) + " NOT IN (" + idsExcluded + ")");
|
||||
|
||||
// Address type.
|
||||
if (prm.AddressType > 0)
|
||||
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ItemAddress_AddressType, aliasItemAddress) + "=" + ((int)prm.AddressType).ToString());
|
||||
|
||||
// Item Ids.
|
||||
if (!prm.ItemIdsIncluded.IsEmpty())
|
||||
{
|
||||
@@ -436,6 +441,28 @@ namespace Saxonite.Net.Standard.Dbas.Mgr
|
||||
filter.Add(itemIdFilters.Concat(" OR ", "(", ")"));
|
||||
}
|
||||
|
||||
// Address search.
|
||||
if (!StringUtil.IsEmpty(prm.AddressSearch))
|
||||
{
|
||||
// Split filter into words.
|
||||
List<String> searchFilter = new List<String>();
|
||||
List<String> filterWords = prm.AddressSearch.Split((char[])null, StringSplitOptions.RemoveEmptyEntries).ToList();
|
||||
filterWords.RemoveDuplicatesCI();
|
||||
filterWords.RemoveBlanks();
|
||||
foreach (String filterWord in filterWords)
|
||||
{
|
||||
List<String> organisationFilter = new List<String>();
|
||||
organisationFilter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ItemAddress_Line1, aliasItemAddress) + " LIKE '%" + DbQuery.FormatForLike(filterWord) + "%'");
|
||||
organisationFilter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ItemAddress_Line2, aliasItemAddress) + " LIKE '%" + DbQuery.FormatForLike(filterWord) + "%'");
|
||||
organisationFilter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ItemAddress_Line3, aliasItemAddress) + " LIKE '%" + DbQuery.FormatForLike(filterWord) + "%'");
|
||||
organisationFilter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ItemAddress_Town, aliasItemAddress) + " LIKE '%" + DbQuery.FormatForLike(filterWord) + "%'");
|
||||
organisationFilter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ItemAddress_Province, aliasItemAddress) + " LIKE '%" + DbQuery.FormatForLike(filterWord) + "%'");
|
||||
organisationFilter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ItemAddress_PostalCode, aliasItemAddress) + " LIKE '%" + DbQuery.FormatForLike(filterWord) + "%'");
|
||||
searchFilter.Add(organisationFilter.Concat(" OR ", "(", ")"));
|
||||
}
|
||||
filter.Add(searchFilter.Concat(" AND ", "(", ")"));
|
||||
}
|
||||
|
||||
// Notes.
|
||||
if (!StringUtil.IsEmpty(prm.NotesPartial))
|
||||
filter.Add(SaxDbDfn_Core.GetColumnNameQual(SaxDbDfn_Core.ColumnIdx.ItemAddress_Notes, aliasItemAddress) + " LIKE '%" + DbQuery.FormatForLike(prm.NotesPartial) + "%'");
|
||||
|
||||
Reference in New Issue
Block a user