protected bool StartImport() { bool started = false; // IMPORT UPLOADED FILE if (FileUpload.Checked) { if (ValidateUploadFile()) { string fileName = DataFile.FileName; // check if its zipped file, save it at server if (fileName.EndsWith(".zip", StringComparison.InvariantCultureIgnoreCase) || fileName.EndsWith(".csv", StringComparison.InvariantCultureIgnoreCase)) { string saveFilePath = fileName.StartsWith("VARIANTS_", StringComparison.InvariantCultureIgnoreCase) ? fileName : "VARIANTS_" + fileName; saveFilePath = Server.MapPath(Path.Combine("~/App_Data/DataExchange/Upload/", saveFilePath)); HttpPostedFile file = Request.Files[0]; int fileLength = file.ContentLength; Byte[] buffer = new byte[fileLength]; file.InputStream.Read(buffer, 0, fileLength); File.WriteAllBytes(saveFilePath, buffer); if (File.Exists(saveFilePath)) { ProductVariantsImportOptions importOptions = GetImportOptions(); importOptions.DeleteSourceFile = true; ProductVariantsImportManager.Instance.BeginImportAsync(saveFilePath, importOptions); Timer1.Enabled = true; ProgressLabel.Text = "Started import process."; SelectedFileName.Text = string.Empty; started = true; } } } else { DataFileValidator.IsValid = false; } } else { string fileName = SelectedFileName.Text; // ITS COMPRESSED ZIP FILE, UNPACK AND VALIDATE CSV FILE string importFilePath = Server.MapPath("~/App_Data/DataExchange/Upload/" + fileName); if (File.Exists(importFilePath)) { ProductVariantsImportOptions importOptions = GetImportOptions(); ProductVariantsImportManager.Instance.BeginImportAsync(importFilePath, importOptions); Timer1.Enabled = true; ProgressLabel.Text = "Started import process."; started = true; } } return(started); }
private ProductVariantsImportOptions GetImportOptions() { ProductVariantsImportOptions importOptions = new ProductVariantsImportOptions(); importOptions.TextDelimiter = ','; importOptions.TextQualifier = '"'; importOptions.ImportMode = ImportMode.UpdateImport; switch (SelectedImportMode.SelectedValue) { case "Insert": importOptions.ImportMode = ImportMode.ImportOnly; break; case "Update": importOptions.ImportMode = ImportMode.UpdateOnly; break; } return(importOptions); }