40 lines
1.4 KiB
C#
40 lines
1.4 KiB
C#
using HRD.WebApi.DAL;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using System;
|
|
using System.Data.Common;
|
|
|
|
namespace HRD.WebApi.Helpers
|
|
{
|
|
public static class ServerInfoHelper
|
|
{
|
|
public static ServerInfo GetServerInfo(WebApiBaseContext context)
|
|
{
|
|
ServerInfo serverInfo = new ServerInfo();
|
|
{
|
|
serverInfo.DatabaseName = context?.Database?.GetDbConnection()?.Database; ;
|
|
serverInfo.DatabaseServer = context?.Database?.GetDbConnection()?.DataSource;
|
|
serverInfo.Message = "Online";
|
|
using DbConnection connection = context.Database.GetDbConnection();
|
|
try
|
|
{
|
|
connection.Open();
|
|
serverInfo.DatabaseStatus = "Online";
|
|
serverInfo.Status = StatusCodes.Status200OK;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
serverInfo.DatabaseStatus = "Offline";
|
|
serverInfo.Status = StatusCodes.Status500InternalServerError;
|
|
serverInfo.Message = ex.Message;
|
|
}
|
|
}
|
|
serverInfo.Server = Environment.MachineName;
|
|
serverInfo.Version = WebApiConfig.AssemblyVersion;
|
|
serverInfo.IsLive = WebApiConfig.IsLive;
|
|
|
|
serverInfo.ClientVersion = WebApiConfig.ClientVersion;
|
|
return serverInfo;
|
|
}
|
|
}
|
|
} |