Compare commits
2 Commits
6915845104
...
f5435e6764
| Author | SHA1 | Date | |
|---|---|---|---|
| f5435e6764 | |||
| f493bc18f4 |
@ -1 +0,0 @@
|
|||||||
PSCHelpdesk
|
|
||||||
@ -2,6 +2,7 @@
|
|||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="RiderProjectSettingsUpdater">
|
<component name="RiderProjectSettingsUpdater">
|
||||||
<option name="singleClickDiffPreview" value="1" />
|
<option name="singleClickDiffPreview" value="1" />
|
||||||
|
<option name="unhandledExceptionsIgnoreList" value="1" />
|
||||||
<option name="vcsConfiguration" value="3" />
|
<option name="vcsConfiguration" value="3" />
|
||||||
</component>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@ -11,8 +11,13 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="95257dc5-08bd-4c50-8726-85956b3c2c92" name="Changes" comment="">
|
<list default="true" id="95257dc5-08bd-4c50-8726-85956b3c2c92" name="Changes" comment="">
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/.name" beforeDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/projectSettingsUpdater.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/projectSettingsUpdater.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/workspace.xml" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/workspace.xml" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/HetznerServer/Service/CheckMKService.cs" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/Service/CheckMKService.cs" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/HetznerServer/Service/ServerService.cs" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/Service/ServerService.cs" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/HetznerServer/Service/ServerService.cs" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/Service/ServerService.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/HetznerServer/ViewModels/ServerViewModel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/ViewModels/ServerViewModel.cs" afterDir="false" />
|
||||||
|
<change beforePath="$PROJECT_DIR$/HetznerServer/Views/ServerView.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/Views/ServerView.axaml" afterDir="false" />
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
@ -70,7 +75,7 @@
|
|||||||
"associatedIndex": 8
|
"associatedIndex": 8
|
||||||
}</component>
|
}</component>
|
||||||
<component name="ProjectId" id="2oALwzSyifDVjc3qbb4djsSPFwr" />
|
<component name="ProjectId" id="2oALwzSyifDVjc3qbb4djsSPFwr" />
|
||||||
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
|
<component name="ProjectLevelVcsManager">
|
||||||
<ConfirmationsSetting value="1" id="Add" />
|
<ConfirmationsSetting value="1" id="Add" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectViewState">
|
<component name="ProjectViewState">
|
||||||
@ -118,8 +123,13 @@
|
|||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Browser/bin/Debug/net9.0-browser" />
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Browser/bin/Debug/net9.0-browser" />
|
||||||
<option name="PASS_PARENT_ENVS" value="1" />
|
<option name="PASS_PARENT_ENVS" value="1" />
|
||||||
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
||||||
|
<option name="ENV_FILE_PATHS" value="" />
|
||||||
|
<option name="REDIRECT_INPUT_PATH" value="" />
|
||||||
|
<option name="PTY_MODE" value="Auto" />
|
||||||
<option name="USE_MONO" value="0" />
|
<option name="USE_MONO" value="0" />
|
||||||
<option name="RUNTIME_ARGUMENTS" value="" />
|
<option name="RUNTIME_ARGUMENTS" value="" />
|
||||||
|
<option name="AUTO_ATTACH_CHILDREN" value="0" />
|
||||||
|
<option name="MIXED_MODE_DEBUG" value="0" />
|
||||||
<option name="PROJECT_PATH" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Browser/PSCHelpdesk.Browser.csproj" />
|
<option name="PROJECT_PATH" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Browser/PSCHelpdesk.Browser.csproj" />
|
||||||
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
|
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
|
||||||
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />
|
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />
|
||||||
@ -136,8 +146,13 @@
|
|||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Desktop/bin/Debug/net9.0" />
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Desktop/bin/Debug/net9.0" />
|
||||||
<option name="PASS_PARENT_ENVS" value="1" />
|
<option name="PASS_PARENT_ENVS" value="1" />
|
||||||
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
||||||
|
<option name="ENV_FILE_PATHS" value="" />
|
||||||
|
<option name="REDIRECT_INPUT_PATH" value="" />
|
||||||
|
<option name="PTY_MODE" value="Auto" />
|
||||||
<option name="USE_MONO" value="0" />
|
<option name="USE_MONO" value="0" />
|
||||||
<option name="RUNTIME_ARGUMENTS" value="" />
|
<option name="RUNTIME_ARGUMENTS" value="" />
|
||||||
|
<option name="AUTO_ATTACH_CHILDREN" value="0" />
|
||||||
|
<option name="MIXED_MODE_DEBUG" value="0" />
|
||||||
<option name="PROJECT_PATH" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Desktop/PSCHelpdesk.Desktop.csproj" />
|
<option name="PROJECT_PATH" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Desktop/PSCHelpdesk.Desktop.csproj" />
|
||||||
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
|
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
|
||||||
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />
|
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />
|
||||||
@ -154,8 +169,13 @@
|
|||||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Desktop/bin/Debug/net9.0" />
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Desktop/bin/Debug/net9.0" />
|
||||||
<option name="PASS_PARENT_ENVS" value="1" />
|
<option name="PASS_PARENT_ENVS" value="1" />
|
||||||
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
<option name="USE_EXTERNAL_CONSOLE" value="0" />
|
||||||
|
<option name="ENV_FILE_PATHS" value="" />
|
||||||
|
<option name="REDIRECT_INPUT_PATH" value="" />
|
||||||
|
<option name="PTY_MODE" value="Auto" />
|
||||||
<option name="USE_MONO" value="0" />
|
<option name="USE_MONO" value="0" />
|
||||||
<option name="RUNTIME_ARGUMENTS" value="" />
|
<option name="RUNTIME_ARGUMENTS" value="" />
|
||||||
|
<option name="AUTO_ATTACH_CHILDREN" value="0" />
|
||||||
|
<option name="MIXED_MODE_DEBUG" value="0" />
|
||||||
<option name="RUNTIME_TYPE" value="coreclr" />
|
<option name="RUNTIME_TYPE" value="coreclr" />
|
||||||
<option name="PROJECT_PATH" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Desktop/PSCHelpdesk.Desktop.csproj" />
|
<option name="PROJECT_PATH" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Desktop/PSCHelpdesk.Desktop.csproj" />
|
||||||
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
|
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
|
||||||
@ -247,26 +267,36 @@
|
|||||||
<workItem from="1734440327643" duration="505000" />
|
<workItem from="1734440327643" duration="505000" />
|
||||||
<workItem from="1734440840094" duration="1461000" />
|
<workItem from="1734440840094" duration="1461000" />
|
||||||
<workItem from="1734512891958" duration="8348000" />
|
<workItem from="1734512891958" duration="8348000" />
|
||||||
<workItem from="1734681339447" duration="25455000" />
|
<workItem from="1734681339447" duration="16737000" />
|
||||||
<workItem from="1735825667995" duration="6639000" />
|
<workItem from="1735123214835" duration="1653000" />
|
||||||
<workItem from="1736012348049" duration="5675000" />
|
<workItem from="1736948977011" duration="332000" />
|
||||||
<workItem from="1736245173247" duration="1723000" />
|
<workItem from="1737038383441" duration="226000" />
|
||||||
<workItem from="1736268018760" duration="1279000" />
|
<workItem from="1737039295949" duration="1236000" />
|
||||||
<workItem from="1736272969135" duration="16118000" />
|
<workItem from="1743165836762" duration="2671000" />
|
||||||
<workItem from="1736861862450" duration="6203000" />
|
<workItem from="1743501446532" duration="3592000" />
|
||||||
<workItem from="1737048851006" duration="14459000" />
|
<workItem from="1743587565847" duration="1225000" />
|
||||||
<workItem from="1737537909704" duration="3401000" />
|
<workItem from="1743604532742" duration="1994000" />
|
||||||
<workItem from="1737646873757" duration="1252000" />
|
<workItem from="1743754990311" duration="1575000" />
|
||||||
<workItem from="1737728621993" duration="12485000" />
|
<workItem from="1743767288057" duration="617000" />
|
||||||
<workItem from="1737966490104" duration="1235000" />
|
<workItem from="1743782743398" duration="1871000" />
|
||||||
<workItem from="1737998140424" duration="2999000" />
|
<workItem from="1744031357110" duration="1699000" />
|
||||||
<workItem from="1738271984376" duration="325000" />
|
<workItem from="1744285115795" duration="665000" />
|
||||||
<workItem from="1738310654132" duration="13826000" />
|
<workItem from="1744631967068" duration="656000" />
|
||||||
<workItem from="1739349147095" duration="24038000" />
|
<workItem from="1744702202799" duration="2323000" />
|
||||||
<workItem from="1739867474147" duration="39725000" />
|
<workItem from="1744893226982" duration="632000" />
|
||||||
<workItem from="1740569707006" duration="11324000" />
|
<workItem from="1745319131675" duration="7778000" />
|
||||||
<workItem from="1741601215219" duration="1811000" />
|
<workItem from="1745841859983" duration="2375000" />
|
||||||
<workItem from="1741876162867" duration="16308000" />
|
<workItem from="1745910444885" duration="4541000" />
|
||||||
|
<workItem from="1745942637758" duration="3099000" />
|
||||||
|
<workItem from="1746374007171" duration="9698000" />
|
||||||
|
<workItem from="1746781538550" duration="1342000" />
|
||||||
|
<workItem from="1747038399537" duration="42000" />
|
||||||
|
<workItem from="1747038853869" duration="112000" />
|
||||||
|
<workItem from="1747038981831" duration="5786000" />
|
||||||
|
<workItem from="1747490908831" duration="662000" />
|
||||||
|
<workItem from="1747575639007" duration="7581000" />
|
||||||
|
<workItem from="1747843509990" duration="143000" />
|
||||||
|
<workItem from="1747843668500" duration="750000" />
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00001" summary="Backup">
|
<task id="LOCAL-00001" summary="Backup">
|
||||||
<option name="closed" value="true" />
|
<option name="closed" value="true" />
|
||||||
@ -324,15 +354,7 @@
|
|||||||
<option name="project" value="LOCAL" />
|
<option name="project" value="LOCAL" />
|
||||||
<updated>1734120730780</updated>
|
<updated>1734120730780</updated>
|
||||||
</task>
|
</task>
|
||||||
<task id="LOCAL-00008" summary="Fixes">
|
<option name="localTasksCounter" value="8" />
|
||||||
<option name="closed" value="true" />
|
|
||||||
<created>1735121726198</created>
|
|
||||||
<option name="number" value="00008" />
|
|
||||||
<option name="presentableId" value="LOCAL-00008" />
|
|
||||||
<option name="project" value="LOCAL" />
|
|
||||||
<updated>1735121726198</updated>
|
|
||||||
</task>
|
|
||||||
<option name="localTasksCounter" value="9" />
|
|
||||||
<servers />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="TypeScriptGeneratedFilesManager">
|
<component name="TypeScriptGeneratedFilesManager">
|
||||||
@ -355,8 +377,7 @@
|
|||||||
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
|
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
|
||||||
<MESSAGE value="backup" />
|
<MESSAGE value="backup" />
|
||||||
<MESSAGE value="Backup" />
|
<MESSAGE value="Backup" />
|
||||||
<MESSAGE value="Fixes" />
|
<option name="LAST_COMMIT_MESSAGE" value="Backup" />
|
||||||
<option name="LAST_COMMIT_MESSAGE" value="Fixes" />
|
|
||||||
</component>
|
</component>
|
||||||
<component name="XDebuggerManager">
|
<component name="XDebuggerManager">
|
||||||
<breakpoint-manager>
|
<breakpoint-manager>
|
||||||
@ -458,6 +479,18 @@
|
|||||||
</properties>
|
</properties>
|
||||||
<option name="timeStamp" value="195" />
|
<option name="timeStamp" value="195" />
|
||||||
</line-breakpoint>
|
</line-breakpoint>
|
||||||
|
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
|
||||||
|
<properties exception="System.OperationCanceledException" breakIfHandledByOtherCode="false" displayValue="System.OperationCanceledException" />
|
||||||
|
<option name="timeStamp" value="196" />
|
||||||
|
</breakpoint>
|
||||||
|
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
|
||||||
|
<properties exception="System.Threading.Tasks.TaskCanceledException" breakIfHandledByOtherCode="false" displayValue="System.Threading.Tasks.TaskCanceledException" />
|
||||||
|
<option name="timeStamp" value="197" />
|
||||||
|
</breakpoint>
|
||||||
|
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
|
||||||
|
<properties exception="System.Threading.ThreadAbortException" breakIfHandledByOtherCode="false" displayValue="System.Threading.ThreadAbortException" />
|
||||||
|
<option name="timeStamp" value="198" />
|
||||||
|
</breakpoint>
|
||||||
</breakpoints>
|
</breakpoints>
|
||||||
</breakpoint-manager>
|
</breakpoint-manager>
|
||||||
<pin-to-top-manager>
|
<pin-to-top-manager>
|
||||||
|
|||||||
@ -78,6 +78,9 @@ public class CheckMKService: IServerService
|
|||||||
if (serv.Services.Count == 0 && serv.BackupLastModified > DateTime.Today.AddDays(-3) && serv.Status == "running")
|
if (serv.Services.Count == 0 && serv.BackupLastModified > DateTime.Today.AddDays(-3) && serv.Status == "running")
|
||||||
{
|
{
|
||||||
serv.ServerStatus = Brushes.Transparent;
|
serv.ServerStatus = Brushes.Transparent;
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
serv.ServerStatus = Brushes.Red;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -92,11 +95,57 @@ public class CheckMKService: IServerService
|
|||||||
|
|
||||||
public void DoReScan(Server serv)
|
public void DoReScan(Server serv)
|
||||||
{
|
{
|
||||||
doScan(serv);
|
doScan();
|
||||||
}
|
}
|
||||||
|
|
||||||
async private void doScan(Server serv)
|
async private void doScan()
|
||||||
{
|
{
|
||||||
|
var settings = new CheckMKSettings();
|
||||||
|
_settingsManager.LoadPluginSettings("CheckMKSettings", settings);
|
||||||
|
|
||||||
|
var httpClient = new HttpClient();
|
||||||
|
httpClient.DefaultRequestHeaders.Accept.Clear();
|
||||||
|
httpClient.DefaultRequestHeaders.Accept.Add(
|
||||||
|
new MediaTypeWithQualityHeaderValue("application/ld+json"));
|
||||||
|
httpClient.DefaultRequestHeaders.Add("User-Agent", "PSC Client");
|
||||||
|
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes($"{settings.Username}:{settings.Password}")));
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
foreach (var serv in _server.SourceCache.Items)
|
||||||
|
{
|
||||||
|
serv.Services.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
var stringPlugins =
|
||||||
|
httpClient.GetStringAsync("https://check.thomas-peterson.de/cmk/check_mk/view.py?view_name=svcproblems&output_format=json");
|
||||||
|
|
||||||
|
var msg = await stringPlugins;
|
||||||
|
JArray pluginMsg = JArray.Parse(msg);
|
||||||
|
|
||||||
|
foreach (var token in pluginMsg)
|
||||||
|
{
|
||||||
|
if (token[0].ToString() != "service_state")
|
||||||
|
{
|
||||||
|
var serv = _server.SourceCache.Items.FirstOrDefault(e => e.Name.ToLower().Contains(token[1].ToString().ToLower()));
|
||||||
|
if (serv != null)
|
||||||
|
{
|
||||||
|
serv.Services.Add(new Models.Service(token[0].ToString(), token[4].ToString()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var serv in _server.SourceCache.Items)
|
||||||
|
{
|
||||||
|
if (serv.Services.Count == 0 && serv.BackupLastModified > DateTime.Today.AddDays(-3) && serv.Status == "running")
|
||||||
|
{
|
||||||
|
serv.ServerStatus = Brushes.Transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine(ex.Message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -331,6 +331,58 @@ public class ServerService: IServerService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (serv.Domains.Count == 0)
|
||||||
|
{
|
||||||
|
command = client.RunCommand("docker inspect psc-web-1");
|
||||||
|
if (command.ExitStatus == 0)
|
||||||
|
{
|
||||||
|
JArray web = JArray.Parse(command.Result);
|
||||||
|
var hostConfigArray = web[0]["HostConfig"];
|
||||||
|
if (hostConfigArray["RestartPolicy"]["Name"].ToString() == "always")
|
||||||
|
{
|
||||||
|
serv.IsRestartAlways = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
var webEnvArray = web[0]["Config"]["Env"];
|
||||||
|
|
||||||
|
foreach (String entry in webEnvArray)
|
||||||
|
{
|
||||||
|
var webExploded = entry.Split("=");
|
||||||
|
if (webExploded[0] == "LETSENCRYPT_HOST")
|
||||||
|
{
|
||||||
|
var webHosts = webExploded[1].Split(",");
|
||||||
|
serv.Domains.Clear();
|
||||||
|
foreach (String dom in webHosts)
|
||||||
|
{
|
||||||
|
serv.Domains.Add(new Domain(dom));
|
||||||
|
}
|
||||||
|
|
||||||
|
var httpClient = new HttpClient();
|
||||||
|
httpClient.DefaultRequestHeaders.Accept.Clear();
|
||||||
|
httpClient.DefaultRequestHeaders.Accept.Add(
|
||||||
|
new MediaTypeWithQualityHeaderValue("application/ld+json"));
|
||||||
|
httpClient.DefaultRequestHeaders.Add("User-Agent", "PSC Client");
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var stringTask =
|
||||||
|
httpClient.GetStringAsync("https://" + webHosts[0] +
|
||||||
|
"/apps/api/system/version");
|
||||||
|
|
||||||
|
var msg = await stringTask;
|
||||||
|
JObject versionMSg = JObject.Parse(msg);
|
||||||
|
|
||||||
|
serv.Datum = versionMSg["datum"].ToString();
|
||||||
|
serv.Release = float.Parse(versionMSg["release"].ToString());
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (serv.PscApiKey != "" && serv.Domains.Count > 0)
|
if (serv.PscApiKey != "" && serv.Domains.Count > 0)
|
||||||
{
|
{
|
||||||
var httpClient = new HttpClient();
|
var httpClient = new HttpClient();
|
||||||
@ -392,6 +444,15 @@ public class ServerService: IServerService
|
|||||||
serv.IsGoodColor = Brushes.Green;
|
serv.IsGoodColor = Brushes.Green;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (serv.Services.Count == 0 && serv.BackupLastModified > DateTime.Today.AddDays(-3) && serv.Status == "running")
|
||||||
|
{
|
||||||
|
serv.ServerStatus = Brushes.Transparent;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
serv.ServerStatus = Brushes.Red;
|
||||||
|
}
|
||||||
|
|
||||||
client.Disconnect();
|
client.Disconnect();
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|||||||
@ -180,6 +180,7 @@ public partial class ServerViewModel : ViewModelBase, IViewModelBase
|
|||||||
if (serv.IsChecked)
|
if (serv.IsChecked)
|
||||||
{
|
{
|
||||||
ServerService.DoReScan(serv);
|
ServerService.DoReScan(serv);
|
||||||
|
CheckMKService.DoReScan(serv);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
<converter:DateTimeConverter x:Key="DateTimeConverter"></converter:DateTimeConverter>
|
<converter:DateTimeConverter x:Key="DateTimeConverter"></converter:DateTimeConverter>
|
||||||
</UserControl.Resources>
|
</UserControl.Resources>
|
||||||
<Grid ColumnDefinitions="*,4,*">
|
<Grid ColumnDefinitions="*,4,*">
|
||||||
<Grid Grid.Column="0" Margin="20" RowDefinitions="Auto,Auto,*">
|
<Grid Grid.Column="0" Margin="20" RowDefinitions="Auto,Auto,Auto,*">
|
||||||
<StackPanel Grid.Row="0" Margin="0 0 0 5">
|
<StackPanel Grid.Row="0" Margin="0 0 0 5">
|
||||||
<TextBlock Margin="0 5" >Suchtext</TextBlock>
|
<TextBlock Margin="0 5" >Suchtext</TextBlock>
|
||||||
<TextBox Text="{Binding SearchText}"></TextBox>
|
<TextBox Text="{Binding SearchText}"></TextBox>
|
||||||
@ -29,10 +29,10 @@
|
|||||||
<Button Content="Reboot" Command="{Binding Reboot}"></Button>
|
<Button Content="Reboot" Command="{Binding Reboot}"></Button>
|
||||||
<Button Content="Select ALL" Command="{Binding SelectAll}"></Button>
|
<Button Content="Select ALL" Command="{Binding SelectAll}"></Button>
|
||||||
<Button Content="DeSelect ALL" Command="{Binding DeSelectAll}"></Button>
|
<Button Content="DeSelect ALL" Command="{Binding DeSelectAll}"></Button>
|
||||||
<!-- <TextBox Grid.Row="1" Text="{Binding Json}"></TextBox>-->
|
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
<TextBox Grid.Row="2" Text="{Binding Json}"></TextBox>
|
||||||
<DataGrid Grid.Row="2" ItemsSource="{Binding Server}"
|
<DataGrid Grid.Row="3" ItemsSource="{Binding Server}"
|
||||||
AutoGenerateColumns="False" IsReadOnly="True"
|
AutoGenerateColumns="False" IsReadOnly="True"
|
||||||
GridLinesVisibility="All" CanUserReorderColumns="True"
|
GridLinesVisibility="All" CanUserReorderColumns="True"
|
||||||
CanUserResizeColumns="True"
|
CanUserResizeColumns="True"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user