public async Task GetMergedFile(FileMergeRequest request) { try { Console.WriteLine(StartLabel); var file1 = $"{config.GetInputPath()}{request.FileNameOne}"; var file2 = $"{config.GetInputPath()}{request.FileNameTwo}"; var output = $"{config.GetOutputPath()}{request.OutputFileName}"; var dt1 = reader.ConvertCSVtoDataTable("1", file1, request.JoinColumnName); var dt2 = reader.ConvertCSVtoDataTable("2", file2, request.JoinColumnName); dt1.Merge(dt2, false, MissingSchemaAction.AddWithKey); Console.WriteLine(MergedLabel); await writer.WriteCsv(dt1, request.JoinColumnName, output); } catch (Exception ex) { Console.WriteLine(ex.Message, ex); await Task.FromException(ex); } }