public IActionResult Index(Guid?id)
        {
            var currentUser = _userManager.GetUserAsync(HttpContext.User).Result;
            var world       = _dbContext.Worlds.First(x => x.Id == Guid.Parse("8200762D-E6AC-4171-AD1D-08D72B97935E"));
            var tiles       = _dbContext.Tiles.Where(x => x.WorldId == world.Id).ToList();

            var villageIds = _dbContext.Villages.Where(x => x.UserId == currentUser.Id).Select(x => x.Id).ToArray();

            Tile selectedTile;

            if (!id.HasValue)
            {
                var village = _dbContext.Villages.Include(x => x.Tile).First(x => x.Id == villageIds.First());
                selectedTile = village.Tile;
            }
            else
            {
                selectedTile = tiles.First(x => x.Id == id.Value);
            }

            var map = new MapOverviewViewModel()
            {
                WorldName    = world.Title,
                WorldMinSize = Constants.MinimumWorldSize,
                WorldMaxSize = Constants.MaximumWorldSize,
                Tiles        = _mapper.Map <IList <Tile>, IList <MapTileViewModel> >(tiles),
                MyVillages   = villageIds.ToArray(),
                XCoordinate  = selectedTile.XCoordinate,
                YCoordinate  = selectedTile.YCoordinate,
            };

            return(View(map));
        }
 public MapOverviewPage()
 {
     InitializeComponent();
     _vm                     = new MapOverviewViewModel();
     _vm.Navigation          = this.Navigation;
     _vm.PropertyChanged    += _vm_PropertyChanged;
     BindingContext          = _vm;
     MapOverview.MapClicked += MapOverview_MapClicked;
 }