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));
        }