public IActionResult OnPost() { var request = new ApprenticeshipFinderRequest(); request.Route = SelectedRoute; request.Status = SelectedStatus; request.Level = SelectedLevel; request.Duration = SelectedDuration; request.BoolRoute = request.Route == "any" ? false : true; request.BoolStatus = request.Status == "any" ? false : true; request.BoolLevel = request.Level == "any" ? false : true; request.BoolDuration = request.Duration == "any" ? false : true; if (request.Duration == "any") { FilterOptions = $"Showing results for apprenticeships with a route of '{SelectedRoute}', a status of '{SelectedStatus}', a level of '{SelectedLevel}', and a duration of '{SelectedDuration}'"; } else { FilterOptions = $"Showing results for apprenticeships with a route of '{SelectedRoute}', a status of '{SelectedStatus}', a level of '{SelectedLevel}', and a duration of '{SelectedDuration}' months"; } Apprenticeships = GetApprenticeships(request); if (Apprenticeships.Count == 0) { FormResultMessage = "No results found, please try a different search"; return(Page()); } return(Page()); }
private static List <ApprenticeshipModel> GetApprenticeships(ApprenticeshipFinderRequest appRequest) { var appResponse = new ApprenticeshipFinderResponse(); appResponse.Apprenticeships = new List <ApprenticeshipModel>(); var client = new RestClient("https://localhost:44364/api/Apprenticeship/GetApprenticeships"); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader("ApiKey", "Th4ZbP42RkOnrT47AqEt"); request.AddParameter("application/json", ParameterType.RequestBody); string json = JsonConvert.SerializeObject(appRequest); request.AddParameter("application/json", json + "\r\n", ParameterType.RequestBody); IRestResponse response = client.Execute(request); appResponse = JsonConvert.DeserializeObject <ApprenticeshipFinderResponse>(response.Content); Console.WriteLine(response.Content); return(appResponse.Apprenticeships); }
public ApprenticeshipFinderResponse GetApprenticeships(ApprenticeshipFinderRequest request) { var response = new ApprenticeshipFinderResponse(); var retriever = new DatabaseRetriever(); response.Apprenticeships = retriever.GetMultipleApprenticeships(request); return(response); }
public List <ApprenticeshipModel> GetMultipleApprenticeships(ApprenticeshipFinderRequest request) { DataTable dt = new DataTable(); var apprenticeships = new List <ApprenticeshipModel>(); string connectionString = null; SqlConnection connection; SqlCommand command; StringBuilder sql = new StringBuilder(); SqlDataReader dataReader; connectionString = $@"Data Source=LAPTOP-7GM05PUF;Initial Catalog=webform; Integrated Security=True;"; sql.Append($"select * from Apprenticeships "); sql.Append($"where 1 = 1 "); if (request.BoolRoute) { sql.Append($"and route = '{request.Route}'"); } if (request.BoolLevel) { sql.Append($"and level = '{request.Level}'"); } if (request.BoolStatus) { sql.Append($"and status = '{request.Status}'"); } if (request.BoolDuration) { sql.Append($"and duration = '{request.Duration}'"); } connection = new SqlConnection(connectionString); try { connection.Open(); command = new SqlCommand(sql.ToString(), connection); dataReader = command.ExecuteReader(); dt.Load(dataReader); dataReader.Close(); command.Dispose(); connection.Close(); } catch (Exception ex) { Console.WriteLine("Can not open connection!"); } foreach (DataRow row in dt.Rows) { var apprenticeship = new ApprenticeshipModel(); apprenticeship.Route = row["route"].ToString(); apprenticeship.Name = row["name"].ToString(); apprenticeship.Reference = row["reference"].ToString(); apprenticeship.Status = row["status"].ToString(); apprenticeship.Level = (int)row["level"]; apprenticeship.Funding = row["funding"].ToString(); apprenticeship.Duration = (int)row["duration"]; apprenticeship.CoreOptions = (int)row["core_options"]; apprenticeship.Eqa = row["eqa"].ToString(); apprenticeship.Link = row["link"].ToString(); apprenticeships.Add(apprenticeship); } return(apprenticeships); }