public async Task <bool> CheckWinTimeUpdate() { var appVersion = (await DLicense.GetData())[0].AppVersion; var filePath = _directoryPath + @"\IntTi.dat"; var existsIntTi = File.Exists(filePath); if ((appVersion == null || !existsIntTi) && (appVersion != null || existsIntTi)) { return(false); } string internetTime; bool okInternetTime; try { internetTime = new PersianDateTime(GetNistTime()).ToString(PersianDateTimeFormat.DateTime); okInternetTime = true; } catch (Exception) { internetTime = string.Empty; okInternetTime = false; } if (appVersion == null) { if (internetTime == string.Empty) { internetTime = "1397/01/19 00:00:00"; } try { using (var fileStream = new FileStream(filePath, FileMode.OpenOrCreate)) using (var streamWriter = new StreamWriter(fileStream)) { streamWriter.WriteLine(StringCipher.Encrypt(internetTime, "RAYMON33")); streamWriter.Close(); } } catch (Exception) { return(false); } } var intTiData = string.Empty; foreach (var line in File.ReadLines(filePath)) { try { intTiData = StringCipher.Decrypt(line, "RAYMON33"); } catch (Exception) { return(false); } } if (internetTime == string.Empty) { internetTime = intTiData; } else { try { EditFile(StringCipher.Encrypt(internetTime, "RAYMON33"), filePath, 1); } catch (Exception) { return(false); } } var persianDateTime = PersianDateTime.Now.ToString(PersianDateTimeFormat.DateTime); var dPersianDateTime = PersianDateTime.Parse(persianDateTime.Split(' ')[0], persianDateTime.Split(' ')[1]); var dInternetTime = PersianDateTime.Parse(internetTime.Split(' ')[0], internetTime.Split(' ')[1]); if (okInternetTime && appVersion != null) { if (dPersianDateTime <= dInternetTime.AddMinutes(-30)) { var timeSpan = dInternetTime - dPersianDateTime; Utility.MyMessageBox("خطا", $"تاریخ و ساعت سیستم شما\nتقریبا {timeSpan.Days} روز و {timeSpan.Hours} ساعت و {timeSpan.Minutes} دقیقه عقب میباشد\nبرای اجرای برنامه لطفا تاریخ سیستم را بروزرسانی کنید"); OkShutdownApp = true; return(false); } if (dPersianDateTime >= dInternetTime.AddMinutes(30)) { var timeSpan = dPersianDateTime - dInternetTime; Utility.MyMessageBox("خطا", $"تاریخ و ساعت سیستم شما\nتقریبا {timeSpan.Days} روز و {timeSpan.Hours} ساعت و {timeSpan.Minutes} دقیقه جلو میباشد\nبرای اجرای برنامه لطفا تاریخ سیستم را بروزرسانی کنید"); OkShutdownApp = true; return(false); } } else if (dPersianDateTime <= dInternetTime.AddMinutes(-30) && appVersion != null) { Utility.MyMessageBox("خطا", "تاریخ و ساعت سیستم بروز نمی باشد\nبرای اجرا شدن برنامه لطفا تاریخ سیستم را بروزرسانی کنید"); OkShutdownApp = true; return(false); } return(true); }