Пример #1
0
        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);
        }
Пример #2
0
        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);
        }