using APT.BaseData.Domain.Enums; using APT.BaseData.Domain.Entities.FM; using APT.Infrastructure.Core; using APT.Utility; using APT.PF.WebApi; using IdentityModel.Client; using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Mvc; using Microsoft.IdentityModel.Tokens; using System; using System.Collections.Generic; using System.IdentityModel.Tokens.Jwt; using System.Security.Claims; using System.Text; using System.Threading.Tasks; using TokenRequest = APT.Utility.TokenRequest; using APT.Utility; using APT.BaseData.Domain.Entities; using System.Linq; using IdentityModel; using Microsoft.EntityFrameworkCore.Query; using APT.BaseData.Domain.ApiModel.Platform; using APT.BaseData.Domain.ApiModel; using APT.Infrastructure.Api.Redis; namespace APT.PF.WebApi.Controllers.Api.FM { [Route("api/PF/HardCheck")] public partial class DataChannelController : AuthorizeApiController { private int ErrCountLimit = 30; private int RAM = 32; [HttpGet, Route("Info")] public JsonActionResult Info(string checkResult) { return SafeExecute(() => { //var redisManager = APT.Infrastructure.Api.ServiceLocator.Instance.GetService(); int count = 0; if (checkResult.ToLower() != "true") { if (CsRedisManager.KeyExists(RedisCacheKey.HardWareCheckErrCount)) { count = CsRedisManager.StringGet(RedisCacheKey.HardWareCheckErrCount); } count++; CsRedisManager.StringSet(RedisCacheKey.HardWareCheckErrCount, count); if (count > ErrCountLimit) { CsRedisManager.StringSet(RedisCacheKey.HardWareCheckErrCount, checkResult); } } else { CsRedisManager.StringSet(RedisCacheKey.HardWareCheckErrCount, count); CsRedisManager.StringSet(RedisCacheKey.HardWareCheck, checkResult); } return true; }); } [HttpPost, Route("UpdateInfo")] public JsonActionResult UpdateInfo([FromBody] ComputerInfo info) { return SafeExecute(() => { //var redisManager = APT.Infrastructure.Api.ServiceLocator.Instance.GetService(); if (decimal.Parse(info.CPU) > 0) { CsRedisManager.StringSet(RedisCacheKey.HardWareCpuInfo, info.CPU); } CsRedisManager.StringSet(RedisCacheKey.HardWareRamInfo, info.RAM); return true; }); } } }