73 lines
1.8 KiB
C#
73 lines
1.8 KiB
C#
using LinqToDB;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using SeniorAssistant.Models;
|
|
using System.Linq;
|
|
|
|
namespace SeniorAssistant.Controllers
|
|
{
|
|
[ApiExplorerSettings(IgnoreApi = true)]
|
|
public class HomeController : BaseController
|
|
{
|
|
[Route("")]
|
|
[Route("Home")]
|
|
[Route("Index")]
|
|
public IActionResult Index()
|
|
{
|
|
string username = HttpContext.Session.GetString(Username);
|
|
return View("Index", GetUser(username));
|
|
}
|
|
|
|
[Route("Heartbeat")]
|
|
public IActionResult Heartbeat()
|
|
{
|
|
return CheckAuthorized("Data", "Heartbeat");
|
|
}
|
|
|
|
[Route("Sleep")]
|
|
public IActionResult Sleep()
|
|
{
|
|
return CheckAuthorized("Data", "Sleep");
|
|
}
|
|
|
|
[Route("Step")]
|
|
public IActionResult Step()
|
|
{
|
|
return CheckAuthorized("Data", "Step");
|
|
}
|
|
|
|
[Route("Users")]
|
|
public IActionResult Users()
|
|
{
|
|
return CheckAuthorized("Users");
|
|
}
|
|
|
|
[Route("User/{User}")]
|
|
public IActionResult SingleUser(string user)
|
|
{
|
|
return CheckAuthorized("User", GetUser(user));
|
|
}
|
|
|
|
[Route("Message/{User}")]
|
|
public IActionResult Message(string user)
|
|
{
|
|
return CheckAuthorized("Message", GetUser(user));
|
|
}
|
|
|
|
private User GetUser(string username)
|
|
{
|
|
return Db.Users
|
|
.LoadWith(u => u.Doc)
|
|
.LoadWith(u => u.Pat)
|
|
.Where(u => u.Username.Equals(username))
|
|
.FirstOrDefault();
|
|
}
|
|
|
|
private IActionResult CheckAuthorized(string view, object model = null)
|
|
{
|
|
if (!IsLogged())
|
|
return View("Index", "/" + view);
|
|
return View(view, model);
|
|
}
|
|
}
|
|
} |