private async Task <EntityResponsResult> GetResult(RequestFound req, int pauseSecond = 5) { if (req == null || string.IsNullOrEmpty(req.Token)) { return(null); } int count = 60; string error = null; EntityResponsResult result = null; return(await Task.Run(() => { while (count-- > 0) { Thread.Sleep(pauseSecond * 1000); error = string.Empty; try { var res = _repository.Status(req.Token, _key); if (string.IsNullOrEmpty(res.Exception) == false) { error = res.Exception; } else { req.StatusRequest.Progress = res.Progress; if (CheckResultStatus(res) == false) { error = "Не выполнено"; } else { result = _repository.Result(req.Token, _key); if (string.IsNullOrEmpty(result.Exception) == false) { error = result.Exception; } else { error = null; break; } } } } catch (Exception ex) { error = ex.Message; } } req.ErrorRequest(error); return result; }).ConfigureAwait(false)); }
private RequestFound GetRequestFound(IRequestQuery query) { var req = new RequestFound(query); CollectionRequest.Add(req); return(req); }
private void RequestProcessing(string fileContents, string dir) { DoWrite(dir + "/input.bin", ""); JSONReturn request = JsonSerializer.Deserialize <JSONReturn>(fileContents); Console.WriteLine(fileContents); RequestFound.Invoke(this, new WatcherReqArgs(request, dir)); }
private Task AppendSaveFile(RequestFound req, EntityResponsResult result) { return(Task.Run(() => { if (result != null) { //req.FileResult = _createFile.AppendXlsx(ServiceConvert.ConvertEntityResultsToStrings(result), req.Query.FirstField); req.FileResult = _createFile.AppendCsv(ServiceConvert.ConvertEntityResultsToStrings(result), req.Query.FirstField); req.StopRequest(); } })); }
private Task SaveFile(RequestFound req, EntityResponsResult result) { return(Task.Run(() => { if (result != null) { if (result.CollectionQuery[0].CollectionResult.Any() == false) { req.ErrorRequest("Ничего не найдено"); } else { req.FileResult = _createFile.CreateXlsx(ServiceConvert.ConvertEntityResultsToStrings(result), req.Query.FirstField); req.StopRequest(); } } })); }
private static Task Found(Func <EntityResultSearch> entityResultSearch, RequestFound req) { return(Task.Run(() => { try { var res = entityResultSearch(); if (string.IsNullOrEmpty(res.Exception)) { req.Token = res.TokenTask; } else { req.ErrorRequest(res.Exception); } } catch (Exception ex) { req.ErrorRequest(ex.Message); } })); }