int TimeNow = (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
string FilePath = project.Directory+@"\unixtime.txt";//путь к файлу
int ActionEveryMinutes = 210;//время ожидания в минутах
int LastActionTime;
try{
LastActionTime = Convert.ToInt32(File.ReadAllText(FilePath));//считываем дату ласт действия
}catch{LastActionTime=0;}
//if (DateTime.Now.Hour >= 9 && DateTime.Now.Hour <= 23) {
if (DateTime.Now.Hour >= 4) {//если время более или равно 4 часам ночи, поставь тут 9 к примеру
while(TimeNow < LastActionTime+ActionEveryMinutes*60 ) {
if(((ZennoLab.InterfacesLibrary.ProjectModel.Collections.IContextExt)project.Context).IsInterrupted) return 0; // Прерывание в ZP
if(Global.Variables.IsProjectMaker && !Global.Variables.IsDebugMode) return 0; // Прерывание в PM
TimeNow = (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;//обновляем текущее время
int TimeToStart = (LastActionTime+ActionEveryMinutes*60) - TimeNow;
project.SendInfoToLog("Минут до следующего запуска: "+Convert.ToString(TimeToStart/60));
System.Threading.Thread.Sleep(10 * 1000);
}
File.WriteAllText(FilePath, Convert.ToString(TimeNow));//записываем в фаил дату в UnixTime
project.SendInfoToLog("Поехали",false);
} else {throw new Exception("Время работы еще не пришло");}