Files
mixtape/zero.Web/Controllers/ZeroController.cs
T

23 lines
679 B
C#
Raw Normal View History

2020-10-27 00:24:49 +01:00
using Microsoft.AspNetCore.Mvc;
2020-11-06 14:16:11 +01:00
using Microsoft.Extensions.DependencyInjection;
2020-11-16 01:07:07 +01:00
using zero.Core;
2021-09-30 10:53:01 +02:00
using zero.Core.Entities;
using zero.Core.Routing;
2020-10-27 00:24:49 +01:00
namespace zero.Web.Controllers
{
2021-11-06 16:27:04 +01:00
public abstract class ZeroController : ZeroController<RouteModel> { }
2021-09-30 10:53:01 +02:00
2021-11-06 16:27:04 +01:00
public abstract class ZeroController<T> : Controller where T : class, IRouteModel
2020-10-27 00:24:49 +01:00
{
2021-09-30 10:53:01 +02:00
public virtual Application Application => Context?.Application;
2020-10-27 00:24:49 +01:00
2021-09-30 10:53:01 +02:00
T _route;
2021-11-06 16:27:04 +01:00
public virtual T Route => _route ?? (_route = HttpContext.Features.Get<IRouteModel>() as T);
2020-10-27 00:24:49 +01:00
2020-12-09 13:42:23 +01:00
IZeroContext _context;
2021-07-20 12:56:45 +02:00
public IZeroContext Context => _context ?? (_context = HttpContext?.RequestServices?.GetService<IZeroContext>());
2020-10-27 00:24:49 +01:00
}
}