public async Task <IActionResult> BufferSetter(FileImportViewModel model) { string fileExtension = Path.GetExtension(model.CSVFile.FileName); if (fileExtension != ".csv") { ModelState.AddModelError("", "File must be a CSV type"); return(View()); } Dictionary <string, int> activeBufferProducts = await _fileReader.RetrieveSkuAndQty(model.CSVFile); Dictionary <string, int> productsToUpdate = await _skuVault.GetProductsToUpdate(activeBufferProducts); StringBuilder sb = new StringBuilder(); foreach (var accountName in _channelAdvisor.GetAcctNames()) { sb.Append(_fileReader.ConvertToStoreBufferSB( sb.Length == 0, productsToUpdate, accountName)); } byte[] fileContent = new UTF8Encoding().GetBytes(sb.ToString()); string contentType = "text/csv"; string fileName = $"StoreBuffer-{ DateTime.Now.ToShortDateString() }.csv"; FileContentResult file = File(fileContent, contentType, fileName); return(file); }
public async Task <IActionResult> ZDTSummarizer(FileImportViewModel model) { string fileExtension = Path.GetExtension(model.CSVFile.FileName); if (fileExtension != ".csv") { ModelState.AddModelError("", "File must be a CSV type"); return(View()); } List <ZDTSummaryModel> summary = await _fileReader.SummarizeAsync(model.CSVFile); string header = "Date,Count,Avg Wait Sec,Avg Talk Sec"; List <string> lines = summary.Select(i => $"{ i.CallDate },{ i.Count },{ i.AvgWaitSec },{ i.AvgTalkSec }").ToList(); StringBuilder sb = _fileReader.GenerateSB(true, header, lines); byte[] fileContents = new UTF8Encoding().GetBytes(sb.ToString()); string contentTypes = "text/csv"; string fileName = $"ZendeskTalkSummyar-{ DateTime.Now.ToShortDateString() }.csv"; FileContentResult file = File(fileContents, contentTypes, fileName); return(file); }