public async Task <IActionResult> Upsert(TrailsVm trailsVm) { if (!ModelState.IsValid) { var npList = await _npRepo.GetAllAsync(StaticDetails.NationalParksApiPath); var objVm = new TrailsVm { NationalParkList = npList.Select(i => new SelectListItem { Text = i.Name, Value = i.Id.ToString() }), Trail = trailsVm.Trail }; return(View(objVm)); } if (trailsVm.Trail.Id == 0) { await _trailRepo.CreateAsync(StaticDetails.TrailsApiPath, trailsVm.Trail); } else { await _trailRepo.UpdateAsync(StaticDetails.TrailsApiPath, trailsVm.Trail); } return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> Upsert(int?id) { var npList = await _npRepo.GetAllAsync(StaticDetails.NationalParksApiPath); var trailVm = new TrailsVm { NationalParkList = npList.Select(i => new SelectListItem { Text = i.Name, Value = i.Id.ToString() }), Trail = new Trail() }; if (id == null) { // true for Insert/Create return(View(trailVm)); } trailVm.Trail = await _trailRepo.GetAsync(StaticDetails.TrailsApiPath, id.GetValueOrDefault()); if (trailVm.Trail == null) { return(NotFound()); } return(View(trailVm)); }
public async Task <IActionResult> Upsert(TrailsVm trailsVm) { if (trailsVm == null) { return(View(trailsVm)); } if (ModelState.IsValid) { if (trailsVm.Trail.Id == 0) { if (await _tRepo.CreateAsync(trailsVm.Trail, SD.TrailAPIPath)) { return(RedirectToAction(nameof(Index))); } else { return(View(trailsVm)); } } else { if (await _tRepo.UpdateAsync(trailsVm.Trail, SD.TrailAPIPath + trailsVm.Trail.Id)) { return(RedirectToAction(nameof(Index))); } else { return(View(trailsVm)); } } } else { var nationalParksList = await _npRepo.GetAllAsync(SD.NationalParkAPIPath); TrailsVm trailsVm2 = new TrailsVm { ListNationalParks = nationalParksList.Select(x => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem { Text = x.Name, Value = x.Id.ToString() }) }; return(View(trailsVm2)); } }
public async Task <IActionResult> Upsert(int?id) { var nationalParksList = await _npRepo.GetAllAsync(SD.NationalParkAPIPath); TrailsVm trailsVm = new TrailsVm { ListNationalParks = nationalParksList.Select(x => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem { Text = x.Name, Value = x.Id.ToString() }) }; if (id == null) { return(View(trailsVm)); } trailsVm.Trail = await _tRepo.GetByIdAsync(id.GetValueOrDefault(), SD.TrailAPIPath); return(View(trailsVm)); }