using EARSystem.Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
namespace EARSystem.Web.Controllers;
[Authorize]
public class AppController(AppDbContext db, CatalogPlaceProvider places) : Controller
{
[HttpGet("/Diary")] public IActionResult Diary() => View();
[HttpGet("/Nearby")] public IActionResult Nearby() => View();
[HttpGet("/Review")] public IActionResult Review() => View();
[HttpGet("/Favorites")] public IActionResult Favorites() => View();
[HttpGet("/Settings")] public IActionResult Settings() => View();
[HttpGet("/Experiences")]
public async Task<IActionResult> Experiences(Guid? placeId, CancellationToken ct) {
ViewBag.PlaceId = placeId;
return View(await db.Places.AsNoTracking().OrderBy(x => x.Name).ToArrayAsync(ct));
}
[HttpGet("/Places/{id:guid}")]
public async Task<IActionResult> Place(Guid id, CancellationToken ct) {
var place = await places.GetAsync(id, ct);
return place == null ? NotFound() : View(place);
}
}
using EARSystem.Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
namespace EARSystem.Web.Controllers;
[Authorize]
public class AppController(AppDbContext db, CatalogPlaceProvider places) : Controller
{
[HttpGet("/Diary")] public IActionResult Diary() => View();
[HttpGet("/Nearby")] public IActionResult Nearby() => View();
[HttpGet("/Review")] public IActionResult Review() => View();
[HttpGet("/Favorites")] public IActionResult Favorites() => View();
[HttpGet("/Settings")] public IActionResult Settings() => View();
[HttpGet("/Experiences")]
public async Task<IActionResult> Experiences(Guid? placeId, CancellationToken ct) {
ViewBag.PlaceId = placeId;
return View(await db.Places.AsNoTracking().OrderBy(x => x.Name).ToArrayAsync(ct));
}
[HttpGet("/Places/{id:guid}")]
public async Task<IActionResult> Place(Guid id, CancellationToken ct) {
var place = await places.GetAsync(id, ct);
return place == null ? NotFound() : View(place);
}
}