public async Task <IActionResult> GetTen() { List <CrewByApiDto> crewsByApiDto = await parceService.GetCrews(); if (crewsByApiDto == null) { return(NotFound()); } Task[] tasks = new Task[2]; tasks[0] = (Task.Run(() => service.AddRange(crewsByApiDto))); tasks[1] = (Task.Run(() => { string format = "d_MMM_yyyy_h_mm_ss"; string path = "log_" + DateTime.Now.ToString(format) + ".csv"; using (StreamWriter streamWriter = new StreamWriter(new FileStream(path, FileMode.Create))) { Parallel.ForEach(crewsByApiDto, current => streamWriter.Write(formatter.ToCsv(current)) ); } })); Task.WaitAll(tasks); return(Ok()); }