public ActionResult AddFromFile() { var quickOrderPage = GetQuickOrderPage(); HttpPostedFileBase fileContent = Request.Files[0]; if (fileContent != null && fileContent.ContentLength > 0) { Stream uploadedFile = fileContent.InputStream; var fileName = fileContent.FileName; var productsList = new List <ProductViewModel>(); //validation for csv if (!fileName.Contains(".csv")) { TempData["messages"] = new List <string>() { "The uploaded file is not valid!" }; return(Json(new { data = quickOrderPage?.LinkURL })); } var fileData = _fileHelperService.GetImportData <QuickOrderData>(uploadedFile); foreach (var record in fileData) { //find the product ContentReference variationReference = _referenceConverter.GetContentLink(record.Sku); var product = _quickOrderService.GetProductByCode(variationReference); product.Quantity = record.Quantity; product.TotalPrice = product.Quantity * product.UnitPrice; productsList.Add(product); } TempData["products"] = productsList.Count > 0 ? productsList : null; } else { TempData["messages"] = new List <string>() { "The uploaded file is not valid!" }; return(Json(new { data = quickOrderPage?.LinkURL })); } return(Json(new { data = quickOrderPage?.LinkURL })); }
public IViewComponentResult AddFromFile(IFormFile file) { var fileContent = file; var stringResult = ""; if (fileContent != null && fileContent.Length > 0) { var uploadedFile = fileContent.OpenReadStream(); var fileName = fileContent.FileName; var productsList = new List <QuickOrderProductViewModel>(); //validation for csv if (!fileName.Contains(".csv")) { TempData["messages"] = new List <string>() { "The uploaded file is not valid!" }; stringResult = JsonConvert.SerializeObject(new { Message = TempData["messages"] }); } var fileData = _fileHelperService.GetImportData <QuickOrderData>(uploadedFile); foreach (var record in fileData) { //find the product var variationReference = _referenceConverter.GetContentLink(record.Sku); var product = _quickOrderService.GetProductByCode(variationReference); product.Quantity = record.Quantity; product.TotalPrice = product.Quantity * product.UnitPrice; productsList.Add(product); } stringResult = JsonConvert.SerializeObject(new { Status = "OK", Message = "Import .csv file successfully", Products = productsList }); } else { stringResult = JsonConvert.SerializeObject(new { Message = "The uploaded file is not valid!" }); } return(new ContentViewComponentResult(stringResult)); }