Guest User

Untitled

a guest
Mar 22nd, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. [HttpPost]
  2. [Route(ApiRoutes.EodVariationMarginPlugs)]
  3. public async Task<IActionResult> UploadPlugAsync(IFormFile filePayload)
  4. {
  5. var fileName = ContentDispositionHeaderValue
  6. .Parse(filePayload.ContentDisposition)
  7. .FileName.ToString().Trim('"');
  8. if (filePayload.Length > 0)
  9. {
  10. var path = Path.Combine(Path.GetTempPath(), fileName);
  11. using (var fileStream = new FileStream(path, FileMode.Create))
  12. {
  13. await filePayload.CopyToAsync(fileStream);
  14. }
  15. using (var stream = new MemoryStream())
  16. {
  17. filePayload.CopyTo(stream);
  18. using (var reader = new StreamReader(stream))
  19. using (var csv = new CsvReader(reader))
  20. {
  21. csv.Configuration.RegisterClassMap<EodVariationMarginPlugMap>();
  22. csv.Configuration.MissingFieldFound = null;
  23. var records = csv.GetRecords<EodVariationMarginPlug>().ToList(); // record count is 0
  24. foreach (var p in records)
  25. {
  26. p.CreatedAt = DateTimeOffset.Now;
  27. p.CreatedBy = HttpContext.User.Identity.Name;
  28. }
  29. await _repository.InsertPlugsAsync(records);
  30. }
  31. }
  32.  
  33. var textReader = System.IO.File.OpenText(path);
  34. using (var csv = new CsvReader(textReader))
  35. {
  36. csv.Configuration.RegisterClassMap<EodVariationMarginPlugMap>();
  37. csv.Configuration.MissingFieldFound = null;
  38. var records = csv.GetRecords<EodVariationMarginPlug>().ToList();
  39. foreach (var p in records)
  40. {
  41. p.CreatedAt = DateTimeOffset.Now;
  42. p.CreatedBy = HttpContext.User.Identity.Name;
  43. }
  44. await _repository.InsertPlugsAsync(records);
  45. }
  46. }
  47. return Ok();
  48. }
Add Comment
Please, Sign In to add comment