Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [HttpPost]
- [Route(ApiRoutes.EodVariationMarginPlugs)]
- public async Task<IActionResult> UploadPlugAsync(IFormFile filePayload)
- {
- var fileName = ContentDispositionHeaderValue
- .Parse(filePayload.ContentDisposition)
- .FileName.ToString().Trim('"');
- if (filePayload.Length > 0)
- {
- var path = Path.Combine(Path.GetTempPath(), fileName);
- using (var fileStream = new FileStream(path, FileMode.Create))
- {
- await filePayload.CopyToAsync(fileStream);
- }
- using (var stream = new MemoryStream())
- {
- filePayload.CopyTo(stream);
- using (var reader = new StreamReader(stream))
- using (var csv = new CsvReader(reader))
- {
- csv.Configuration.RegisterClassMap<EodVariationMarginPlugMap>();
- csv.Configuration.MissingFieldFound = null;
- var records = csv.GetRecords<EodVariationMarginPlug>().ToList(); // record count is 0
- foreach (var p in records)
- {
- p.CreatedAt = DateTimeOffset.Now;
- p.CreatedBy = HttpContext.User.Identity.Name;
- }
- await _repository.InsertPlugsAsync(records);
- }
- }
- var textReader = System.IO.File.OpenText(path);
- using (var csv = new CsvReader(textReader))
- {
- csv.Configuration.RegisterClassMap<EodVariationMarginPlugMap>();
- csv.Configuration.MissingFieldFound = null;
- var records = csv.GetRecords<EodVariationMarginPlug>().ToList();
- foreach (var p in records)
- {
- p.CreatedAt = DateTimeOffset.Now;
- p.CreatedBy = HttpContext.User.Identity.Name;
- }
- await _repository.InsertPlugsAsync(records);
- }
- }
- return Ok();
- }
Add Comment
Please, Sign In to add comment