public async Task <IActionResult> Create([Bind("IdTrail, Name, Colour, Open, Feedback, Length, Difficulty, Description, RegionLocation")] Trail trail, string[] selectedRegions) { if (ModelState.IsValid) { await _trailRepository.AddTrailAsync(trail); trail.RegionLocation = new List <RegionLocation>(); foreach (var region in selectedRegions) { trail.RegionLocation.Add(new RegionLocation { IdRegion = _regionRepository.GetAllRegionToUser().Where(r => r.Name == region).FirstOrDefault().IdRegion, IdTrail = trail.IdTrail }); } _trailRepository.EditTrail(trail); return(RedirectToAction(nameof(Index))); } List <RegionSelection> regions = new List <RegionSelection>(); foreach (var region in _regionRepository.GetAllRegionToUser()) { regions.Add(new RegionSelection { Name = region.Name, Selected = selectedRegions.Contains(region.Name) }); } ViewBag.Regions = regions; return(View(trail)); }
public IActionResult UpdateTrail(int trailId, [FromBody] TrailUpdateDto trailDto) { if (trailDto == null || trailId != trailDto.Id) { return(BadRequest(ModelState)); } var ojbTrail = _mapper.Map <Trail>(trailDto); if (!_trailRepository.EditTrail(ojbTrail)) { ModelState.AddModelError("", $"Something went wrong went update the recored {ojbTrail.Name}"); return(StatusCode(500, ModelState)); } return(NoContent()); }