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));
        }