public async Task <IActionResult> AddStudent(JediEnrollmentViewModel jediStudentEnrollmentModel) { if (ModelState.IsValid) { var(isSuccess, jediStudentResult) = await _jediEnrollmentService.AddStudent(jediStudentEnrollmentModel); if (isSuccess) { TempData["Message"] = "Student added successfully"; } else { TempData["Message"] = "Error. Please try again."; } return(RedirectToAction("Index")); } else { // Edited by CPang 2020-07-17 Challenge 3 var(isSuccessGetSpecies, species) = await _jediEnrollmentService.GetAvailableSpecies(); var(isSuccessGetPlanets, planets) = await _jediEnrollmentService.GetAvailablePlanets(); var viewModel = new JediEnrollmentViewModel(); if (isSuccessGetSpecies && isSuccessGetPlanets) { viewModel.Species.AddRange(species.Select(s => new SelectListItem(s.Name, s.Id))); viewModel.Planet.AddRange(planets.Select(p => new SelectListItem(p.Name, p.Id))); } return(View(viewModel)); } }
public async Task <ViewResult> Index() { var(isSuccess, species) = await _jediEnrollmentService.GetAvailableSpecies(); var viewModel = new JediEnrollmentViewModel(); if (isSuccess) { viewModel.Species.AddRange(species.Select(s => new SelectListItem(s.Name, s.Id))); } return(View(viewModel)); }
public async Task <ViewResult> Index() { // Edited by CPang 2020-07-17 Challenge 3 var(isSuccessGetSpecies, species) = await _jediEnrollmentService.GetAvailableSpecies(); var(isSuccessGetPlanets, planets) = await _jediEnrollmentService.GetAvailablePlanets(); var viewModel = new JediEnrollmentViewModel(); if (isSuccessGetSpecies && isSuccessGetPlanets) { viewModel.Species.AddRange(species.Select(s => new SelectListItem(s.Name, s.Id))); viewModel.Planet.AddRange(planets.Select(p => new SelectListItem(p.Name, p.Id))); } return(View(viewModel)); }
// Edited by CPang 2020-07-15 Challenge 2 public async Task <(bool IsSuccess, JediStudent Result)> AddStudent(JediEnrollmentViewModel jediStudentEnrollmentModel) { var jediStudent = new JediStudent { Name = jediStudentEnrollmentModel.Name, Height = jediStudentEnrollmentModel.Height, Mass = jediStudentEnrollmentModel.Mass, Species = jediStudentEnrollmentModel.SelectedSpecies, // Edited by CPang 2020-07-17 Challenge 3 Planet = jediStudentEnrollmentModel.SelectedPlanet }; try { var client = _httpClientFactory.CreateClient("Individuals"); var stringContent = new StringContent(JsonSerializer.Serialize(jediStudent), Encoding.UTF8, "application/json"); var response = await client.PostAsync("", stringContent); if (response.IsSuccessStatusCode) { var content = await response.Content.ReadAsByteArrayAsync(); var options = new JsonSerializerOptions() { PropertyNameCaseInsensitive = true }; var result = JsonSerializer.Deserialize <JediStudent>(content, options); return(true, result); } return(false, null); } catch (Exception e) { _logger?.LogError(e.ToString()); return(false, null); } }