Fix bad filtering
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using BoredCareers.Services.DatabaseService;
|
using BoredCareers.Services.DatabaseService;
|
||||||
using BoredCareers.Entities;
|
using BoredCareers.Entities;
|
||||||
using Org.BouncyCastle.Tls;
|
|
||||||
|
|
||||||
namespace BoredCareers.Controllers {
|
namespace BoredCareers.Controllers {
|
||||||
[ApiController]
|
[ApiController]
|
||||||
|
|||||||
@@ -17,45 +17,45 @@ namespace BoredCareers.Services.DatabaseService {
|
|||||||
string limit = " LIMIT @PageSize OFFSET @PageNumber;";
|
string limit = " LIMIT @PageSize OFFSET @PageNumber;";
|
||||||
|
|
||||||
List<string> Filters = new List<string>();
|
List<string> Filters = new List<string>();
|
||||||
List<string> Parameters = new List<string>();
|
List<object> Parameters = new List<object>();
|
||||||
List<string> ParameterName = new List<string>();
|
List<string> ParameterName = new List<string>();
|
||||||
|
|
||||||
if (PostalCodes != null) {
|
if (PostalCodes != null) {
|
||||||
for (int i = 0; i < PostalCodes.Length; i++) {
|
for (int i = 0; i < PostalCodes.Length; i++) {
|
||||||
Filters.Add("PostalCode");
|
Filters.Add("PostalCode");
|
||||||
Parameters.Add(PostalCodes[i]);
|
Parameters.Add(PostalCodes[i]);
|
||||||
ParameterName.Add("@PostalCode" + i);
|
ParameterName.Add(" = @PostalCode" + i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CountryCode != null) {
|
if (CountryCode != null) {
|
||||||
Filters.Add("Country");
|
Filters.Add("Country");
|
||||||
Parameters.Add(CountryCode);
|
Parameters.Add(CountryCode);
|
||||||
ParameterName.Add("@CountryCode");
|
ParameterName.Add(" = @CountryCode");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (JobType != null) {
|
if (JobType != null) {
|
||||||
Filters.Add("JobType");
|
Filters.Add("JobType");
|
||||||
Parameters.Add(JobType);
|
Parameters.Add(JobType);
|
||||||
ParameterName.Add("@JobType");
|
ParameterName.Add(" = @JobType");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Remote != null) {
|
if (Remote != null) {
|
||||||
Filters.Add("Remote");
|
Filters.Add("Remote");
|
||||||
Parameters.Add(Remote.Value.ToString());
|
Parameters.Add(Remote.Value);
|
||||||
ParameterName.Add("@Remote");
|
ParameterName.Add(" = @Remote");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SalaryMin != null) {
|
if (SalaryMin != null) {
|
||||||
Filters.Add("SalaryMin");
|
Filters.Add("SalaryMin");
|
||||||
Parameters.Add(SalaryMin.Value.ToString());
|
Parameters.Add(SalaryMin.Value);
|
||||||
ParameterName.Add("@SalaryMin");
|
ParameterName.Add(" >= @SalaryMin");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SalaryMax != null) {
|
if (SalaryMax != null) {
|
||||||
Filters.Add("SalaryMax");
|
Filters.Add("SalaryMax");
|
||||||
Parameters.Add(SalaryMax.Value.ToString());
|
Parameters.Add(SalaryMax.Value);
|
||||||
ParameterName.Add("@SalaryMax");
|
ParameterName.Add(" <= @SalaryMax");
|
||||||
}
|
}
|
||||||
|
|
||||||
string filter = " WHERE IsDeleted = False";
|
string filter = " WHERE IsDeleted = False";
|
||||||
@@ -65,14 +65,14 @@ namespace BoredCareers.Services.DatabaseService {
|
|||||||
} else {
|
} else {
|
||||||
filter += " AND ";
|
filter += " AND ";
|
||||||
}
|
}
|
||||||
filter += Filters[i] + " = " + ParameterName[i];
|
filter += Filters[i] + ParameterName[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
MySqlCommand cmd = new MySqlCommand(select + filter + order + limit, connection);
|
MySqlCommand cmd = new MySqlCommand(select + filter + order + limit, connection);
|
||||||
cmd.Parameters.AddWithValue("@PageSize", CountPerPage);
|
cmd.Parameters.AddWithValue("@PageSize", CountPerPage);
|
||||||
cmd.Parameters.AddWithValue("@PageNumber", (PageNumber - 1) * CountPerPage);
|
cmd.Parameters.AddWithValue("@PageNumber", (PageNumber - 1) * CountPerPage);
|
||||||
for (int i = 0; i < Filters.Count; i++) {
|
for (int i = 0; i < Filters.Count; i++) {
|
||||||
cmd.Parameters.AddWithValue( ParameterName[i], Parameters[i] );
|
cmd.Parameters.AddWithValue( ParameterName[i].Split(' ').Last(), Parameters[i] );
|
||||||
}
|
}
|
||||||
|
|
||||||
using (DbDataReader reader = await cmd.ExecuteReaderAsync()) {
|
using (DbDataReader reader = await cmd.ExecuteReaderAsync()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user