public IActionResult Post([FromBody] ParseTaskDescriptor descriptor) { if (_taskRunner.TasksView.Any(t => t.IsRunning)) { descriptor.SetError("Операция по скачиванию дневника уже выполняется"); return(Json(descriptor)); } _taskRunner.AddTask(descriptor); return(Json(descriptor)); }
public DiaryParser GetParser(ParseTaskDescriptor descriptor) { var options = new DiaryParserOptions(); options.DiaryDir = descriptor.WorkingDir; var cfg = ConfigureLog(descriptor.WorkingDir); var logger = _serviceProvider.GetRequiredService <ILogger <DiaryParser> >(); descriptor.Parser = new DiaryParser(options, logger); descriptor.Parser.WorkFinished += (s, e) => { UnsetLog(cfg); }; return(descriptor.Parser); }