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