コード例 #1
0
        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());
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        public ApprenticeshipFinderResponse GetApprenticeships(ApprenticeshipFinderRequest request)
        {
            var response  = new ApprenticeshipFinderResponse();
            var retriever = new DatabaseRetriever();

            response.Apprenticeships = retriever.GetMultipleApprenticeships(request);

            return(response);
        }
コード例 #4
0
        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);
        }