using HRD.WebApi.DAL; using HRD.WebApi.Helpers; using Microsoft.AspNetCore.Mvc; using System; namespace HRD.WebApi.Controllers { [Route("api/[controller]")] [Produces("application/json")] [ApiController] public abstract class InfoBaseController : BaseMiniController { public InfoBaseController(WebApiBaseContext webApiBaseContext) : base(webApiBaseContext) { } [HttpGet] public ActionResult GetInfos() { try { var serverInfo = GetServerInfo(); return StatusCode(serverInfo.Status, serverInfo); } catch (Exception ex) { WriteLogException(ex); return NotFound(); } } [HttpPost] public ActionResult GetInfos([FromBody] ServerInfo serverInfoFromClient) { try { var serverInfo = GetServerInfo(); serverInfo.LastOfflineTime = serverInfoFromClient.LastOfflineTime; return new OkObjectResult(serverInfo); } catch (Exception ex) { WriteLogException(ex); return NotFound(); } } [NonAction] public virtual ServerInfo GetServerInfo() { return ServerInfoHelper.GetServerInfo(base.Context); } } }