@@ -22,18 +22,51 @@ public async Task<IEnumerable<PostCodes>> Find(string filter)
2222 return Enumerable . Empty < PostCodes > ( ) ;
2323 }
2424
25- return await Database . FetchAsync < PostCodes > ( Database . SqlContext . Sql ( ) . Where ( "PostCode like @0 + '%' OR Locality LIKE @0 + '%'" , filter . Trim ( ) ) ) ;
25+ return await Database . FetchAsync < PostCodes > (
26+ Database . SqlContext . Sql ( )
27+ . Select < PostCodes > ( )
28+ . From < PostCodes > ( )
29+ . Where < PostCodes > ( p =>
30+ p . PostCode . Contains ( cleanFilter ) ||
31+ p . Locality . Contains ( cleanFilter ) ) ) ;
32+
33+ //return await Database.FetchAsync<PostCodes>(Database.SqlContext.Sql().Where("PostCode like @0 + '%' OR Locality LIKE @0 + '%'", filter.Trim()));
2634 }
2735
28- public async Task < IEnumerable < PostCodes > > FindByLGA ( string filter )
36+ public async Task < IEnumerable < PostCodes > > FindByRegion ( string filter )
2937 {
3038 var cleanFilter = filter . Trim ( ) ;
3139 if ( cleanFilter . IsNullOrWhiteSpace ( ) )
3240 {
3341 return Enumerable . Empty < PostCodes > ( ) ;
3442 }
3543
36- return await Database . FetchAsync < PostCodes > ( Database . SqlContext . Sql ( ) . Where ( "Region like @0 + '%' OR Electorate LIKE @0 + '%'" , filter . Trim ( ) ) ) ;
44+ return await Database . FetchAsync < PostCodes > (
45+ Database . SqlContext . Sql ( )
46+ . Select < PostCodes > ( )
47+ . From < PostCodes > ( )
48+ . Where < PostCodes > ( p =>
49+ p . Region . Contains ( cleanFilter ) ||
50+ p . Electorate . Contains ( cleanFilter ) ) ) ;
51+
52+ //return await Database.FetchAsync<PostCodes>(Database.SqlContext.Sql().Where("Region like @0 + '%' OR Electorate LIKE @0 + '%'", filter.Trim()));
53+ }
54+
55+ public async Task < IEnumerable < RegionLookup > > FindRegions ( string filter )
56+ {
57+ var cleanFilter = filter . Trim ( ) ;
58+ if ( cleanFilter . IsNullOrWhiteSpace ( ) )
59+ {
60+ return Enumerable . Empty < RegionLookup > ( ) ;
61+ }
62+
63+ return await Database . FetchAsync < RegionLookup > (
64+ Database . SqlContext . Sql ( )
65+ . SelectDistinct < RegionLookup > ( )
66+ . From < PostCodes > ( )
67+ . Where < PostCodes > ( p =>
68+ p . Region . Contains ( cleanFilter ) ||
69+ p . Electorate . Contains ( cleanFilter ) ) ) ;
3770 }
3871
3972 public async Task < bool > ContainsData ( )
0 commit comments