Files
Tempering-Machine-Control-S…/DaireApplication/Loops/CheckInterNetLoop.cs

112 lines
4.1 KiB
C#

using Avalonia.Media.Imaging;
using Avalonia.Threading;
using DaireApplication.ViewModels;
using DaireApplication.Views;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace DaireApplication.Loops
{
public class CheckInterNetLoop
{
public static async void CheckInterNet(MainWindow _mainWindow)
{
string textToDelete = "";
while (true)
{
if (!Error.IsInternetAvailable())
{
Dispatcher.UIThread.Post(() =>
{
if (_mainWindow.ContentArea.Content is Home || _mainWindow.ContentArea.Content is Admin)
{
if (!_mainWindow.nowifiLogo.IsVisible)
{
_mainWindow.wifiLogo.IsVisible = false;
_mainWindow.nowifiLogo.IsVisible = true;
}
}
else
{
_mainWindow.wifiLogo.IsVisible = false;
_mainWindow.nowifiLogo.IsVisible = false;
}
//if (!_mainWindow.warningMsg.Text.Contains("No Internet Access"))
//{
// _mainWindow.warningMsg.Text += "\nNo Internet Access";
// _mainWindow.warningLogo.IsVisible = true;
//}
});
}
else
{
Dispatcher.UIThread.Post(() =>
{
if (_mainWindow.ContentArea.Content is Home || _mainWindow.ContentArea.Content is Admin)
{
if (!_mainWindow.wifiLogo.IsVisible)
{
_mainWindow.nowifiLogo.IsVisible = false;
_mainWindow.wifiLogo.IsVisible = true;
}
}
else
{
_mainWindow.wifiLogo.IsVisible = false;
_mainWindow.nowifiLogo.IsVisible = false;
}
//if (_mainWindow.warningMsg.Text.Contains("No Internet Access"))
//{
// _mainWindow.warningMsg.Text=_mainWindow.warningMsg.Text.Replace("\nNo Internet Access", "");
//}
});
}
if (!string.IsNullOrEmpty(_mainWindow.warningMessage))
{
Dispatcher.UIThread.Post(() =>
{
if (!_mainWindow.warningMsg.Text.Contains($"\n-{_mainWindow.warningMessage}"))
{
textToDelete = _mainWindow.warningMessage;
_mainWindow.warningMsg.Text += $"\n-{_mainWindow.warningMessage}";
_mainWindow.warningLogo.IsVisible = true;
}
});
}
else
{
Dispatcher.UIThread.Post(() =>
{
if (_mainWindow.warningMsg.Text.Contains($"-{textToDelete}"))
{
_mainWindow.warningMsg.Text= _mainWindow.warningMsg.Text.Replace($"\n-{textToDelete}", "");
}
});
}
if ( string.IsNullOrEmpty(_mainWindow.warningMessage))
{
Dispatcher.UIThread.Post(() =>
{
_mainWindow.warningLogo.IsVisible = false;
});
}
Thread.Sleep(10);
}
}
}
}