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