/* * Выдерживает паузу */ private bool Sleep() { var timeOut = int.Parse(setting.GetValue("СheckingNewRequestTimeOut")) - (int)(DateTime.Now - DateTime) .TotalSeconds; for (; timeOut > 0; timeOut--) { Thread.Sleep(MillisecondCount); lock (IsRunLocker) { if (IsRun == false) { return(false); } } } return(true); }
protected override void Execute() { DateTime = DateTime.Now; if (GetLastIastDocument() == false) { return; } if (lastDocuments.Count() == 0) { var dateTime = DateTime.Parse(setting.GetValue("StartDateTime")); lastDocuments = new List <IncomeDocument>() { new IncomeDocument() { ProcessedDate = dateTime } }; } var index = 0; do { LoadIncomeDocumentList(index); if (incomeDocumentList.Error == null) { if (incomeDocumentList.Documents.Count() > 0) { foreach (var i in incomeDocumentList.Documents) { if (lastDocuments.Any((x) => x.DocumentId != i.DocumentId)) { incomeDocument = i; if (AddDataBase() == false) { return; } linkLoader.Process(incomeDocument); Log.WriteInfo(LoadMessage + incomeDocument.DocumentId); } } } else { Log.WriteInfo(NotExitDocumentMessage); } index += incomeDocumentList.Documents.Count(); } else { if (incomeDocumentList.Error is ServiceError || ((MDLPError)incomeDocumentList.Error).HttpStatusCode == HttpStatusCode.Unauthorized || ((MDLPError)incomeDocumentList.Error).HttpStatusCode == HttpStatusCode.Forbidden) { mDLPClientAdapter.Reboot(); } continue; } Thread.Sleep(MillisecondCount); } while (incomeDocumentList.Error == null && incomeDocumentList.Documents.Count() > 0); if (Sleep() == false) { return; } }