public string[] GetAllCsvFilesFromDirectory(string directoryPath, string errorLogPath) { try { string[] csvfiles = Directory.GetFiles(directoryPath, "*.csv"); return(csvfiles); } catch (Exception e) { var error = e.Message; var reason = "Invalid File Path"; _exportCSVService.ErrorLog("Region", directoryPath, errorLogPath, reason); return(null); } }
private List <DMMods> GetModsListFromCsvFile <DMMods>(string filePath, Dictionary <string, string> header) { try { using (var reader = new StreamReader(filePath)) using (var csv = new CsvReader(reader)) { var mapper = new ModsHeaderMap(header); csv.Configuration.RegisterClassMap(mapper); var modsRecord = csv.GetRecords <DMMods>().ToList(); return(modsRecord); } } catch (Exception e) { var errorMsg = e.Message; _exportCsvService.ErrorLog(this.errorFile, filePath, this.errorFile, errorMsg); return(null); } }
/// <summary> /// Import data from csv file to the system /// </summary> /// <param name="configuration"></param> public void ImportCustomerData(object configuration, Guid userGuid, string errorLogPath, bool isDelete) { var configDictionary = _importFileService.GetFileUsingJToken(configuration.ToString()); var importConfigData = GetConfigurationSetting(configuration.ToString()); if (importConfigData != null) { if (!string.IsNullOrWhiteSpace(importConfigData.InputFolderPath)) { this.inputFolderPath = importConfigData.InputFolderPath; this.outputFolderPath = importConfigData.LogOutputPath; var watch = System.Diagnostics.Stopwatch.StartNew(); //get list of csv file var csvFile = _importFileService.GetAllCsvFilesFromDirectory(this.inputFolderPath, errorLogPath); if (csvFile != null && csvFile.Length > 0) { var customerHeader = _importFileService.GetCSVHeader(importConfigData.CSVToAttributeMapping.ToString()); foreach (var file in csvFile) { var customerList = GetCustomerListFromCsvFile <DMCustomer>(file, customerHeader); var fileHeader = _importFileService.GetCSVHeaderFromFile(file, customerHeader); if (customerList == null) { _exportCsvService.ErrorLog(this.errorFile, inputFolderPath, errorLogPath, "Invalid Header"); break; } else { //import Customer var importedList = ImportCustomer(customerList, userGuid); var fileName = Path.GetFileNameWithoutExtension(file); var fileNameWithExtension = Path.GetFileName(file); var fileExtension = Path.GetExtension(file); var fileNameForExportWithStatus = _exportCsvService.GetExportFileName(fileName, this.fileNameToAppend, fileExtension); var exportHeader = _exportCsvService.GetExportCSVHeader(fileHeader); var exportList = MapperHelper.GetExportList(importedList, exportHeader).ToList(); var isFileSaved = _exportCsvService.SaveCSVWithStatus(exportList, outputFolderPath, fileNameForExportWithStatus, exportHeader); if (isFileSaved) { _importFileService.MoveFile(inputFolderPath, this.outputFolderPath, fileName, fileExtension, isDelete); } } } } watch.Stop(); var duration = watch.Elapsed.Duration(); Console.WriteLine(duration); } } }
/// <summary> /// Import data from csv file to the system /// </summary> /// <param name="configuration"></param> public void ImportRegionData(object configuration, Guid userGuid, string errorLogPath, bool isDelete) { var configDictionary = _importFileService.GetFileUsingJToken(configuration.ToString()); var importConfigData = GetConfigurationSetting(configuration.ToString()); if (importConfigData != null) { if (!string.IsNullOrWhiteSpace(importConfigData.InputFolderPath)) { this.inputFolderPath = importConfigData.InputFolderPath; this.outputFolderPath = importConfigData.LogOutputPath; //get list of csv file var csvFile = _importFileService.GetAllCsvFilesFromDirectory(this.inputFolderPath, errorLogPath); if (csvFile != null && csvFile.Length > 0) { var regionHeader = _importFileService.GetCSVHeader(importConfigData.CSVToAttributeMapping.ToString()); foreach (var file in csvFile) { var regionList = GetRegionListFromCsvFile <DMRegion>(file, regionHeader); var fileHeader = _importFileService.GetCSVHeaderFromFile(file, regionHeader); if (regionList == null) { _exportCsvService.ErrorLog(this.errorFile, inputFolderPath, errorLogPath, "Invalid Header"); break; } else { //import region var importedList = ImportRegion(regionList, userGuid); var fileName = Path.GetFileNameWithoutExtension(file); var fileNameWithExtension = Path.GetFileName(file); var fileExtension = Path.GetExtension(file); var fileNameForExportWithStatus = GetExportFileName(fileName, this.fileNameToAppend) + fileExtension; var exportHeader = _exportCsvService.GetExportCSVHeader(fileHeader); var exportList = MapperHelper.GetExportList(importedList, exportHeader).ToList(); var isFileSaved = _exportCsvService.SaveCSVWithStatus(exportList.ToList(), outputFolderPath, fileNameForExportWithStatus, exportHeader); if (isFileSaved) { _importFileService.MoveFile(inputFolderPath, this.outputFolderPath, fileName, fileExtension, isDelete); } } } } } } }
public void ImportData(string filePath, Guid userGuid, string errorLogPath) { try { bool isDeletable = false; var streamReader = new StreamReader(filePath); var json = streamReader.ReadToEnd(); var configurationData = GetImportConfiguration(json); //check if file is movable or not if (configurationData.ContainsKey(this.deleteFile)) { var deleteAbleValue = configurationData[this.deleteFile].ToString(); if (!string.IsNullOrWhiteSpace(deleteAbleValue) && trueBooleanArray.Contains(deleteAbleValue.ToLower())) { isDeletable = true; } } ///for region data import if (configurationData.ContainsKey(this.region)) { var regionConfigObject = configurationData[this.region]; if (regionConfigObject != null) { _regionImportService.ImportRegionData(regionConfigObject, userGuid, errorLogPath, isDeletable); } } /////end of region //company imort if (configurationData.ContainsKey(this.company)) { var companyConfigObject = configurationData[this.company]; if (companyConfigObject != null) { _companyImportService.ImportCompanyData(companyConfigObject, userGuid, errorLogPath, isDeletable); } } //office import if (configurationData.ContainsKey(this.office)) { var officeConfigObject = configurationData[this.office]; if (officeConfigObject != null) { _officeImportService.ImportOfficeData(officeConfigObject, userGuid, errorLogPath, isDeletable); } } //customer import if (configurationData.ContainsKey(this.customer)) { var customerConfigObject = configurationData[this.customer]; if (customerConfigObject != null) { _customerImportService.ImportCustomerData(customerConfigObject, userGuid, errorLogPath, isDeletable); } } //customer contact import if (configurationData.ContainsKey(this.customerContact)) { var customerContactObject = configurationData[this.customerContact]; if (customerContactObject != null) { _customerContactImportService.ImportCustomerContactData(customerContactObject, userGuid, errorLogPath, isDeletable); } } //contract import if (configurationData.ContainsKey(this.contract)) { var contractConfigObject = configurationData[this.contract]; if (contractConfigObject != null) { _contractImportService.ImportContractData(contractConfigObject, userGuid, errorLogPath, isDeletable); } } //mods import if (configurationData.ContainsKey(this.mods)) { var modsConfigObject = configurationData[this.mods]; if (modsConfigObject != null) { _modImportService.ImportModsData(modsConfigObject, userGuid, errorLogPath, isDeletable); } } //farclause import if (configurationData.ContainsKey(this.farClause)) { var farClauseConfigObject = configurationData[this.farClause]; if (farClauseConfigObject != null) { _farClauseImportService.ImportFarClauseData(farClauseConfigObject, userGuid, errorLogPath, isDeletable); } } //questionaire import if (configurationData.ContainsKey(this.questionaire)) { var questionaireConfigObject = configurationData[this.questionaire]; if (questionaireConfigObject != null) { _farClauseImportService.ImportQuestionaireData(questionaireConfigObject, userGuid, errorLogPath, isDeletable); } } //Task.Factory.StartNew(() => //{ // ///for region data import // if (configurationData.ContainsKey(this.region)) // { // var regionConfigObject = configurationData[this.region]; // if (regionConfigObject != null) // _regionImportService.ImportRegionData(regionConfigObject, userGuid, errorLogPath); // } // /////end of region //}).ContinueWith((company) => //{ // //company imort // if (configurationData.ContainsKey(this.company)) // { // var companyConfigObject = configurationData[this.company]; // if (companyConfigObject != null) // _companyImportService.ImportCompanyData(companyConfigObject, userGuid, errorLogPath); // } //}).ContinueWith((office) => //{ // //office import // if (configurationData.ContainsKey(this.office)) // { // var officeConfigObject = configurationData[this.office]; // if (officeConfigObject != null) // _officeImportService.ImportOfficeData(officeConfigObject, userGuid, errorLogPath); // } //}).ContinueWith((customer) => //{ // //customer import // if (configurationData.ContainsKey(this.customer)) // { // var customerConfigObject = configurationData[this.customer]; // if (customerConfigObject != null) // _customerImportService.ImportCustomerData(customerConfigObject, userGuid, errorLogPath); // } //}).ContinueWith((customerContact) => //{ // //customer contact import // if (configurationData.ContainsKey(this.customerContact)) // { // var customerContactObject = configurationData[this.customerContact]; // if (customerContactObject != null) // _customerContactImportService.ImportCustomerContactData(customerContactObject, userGuid, errorLogPath); // } //}).ContinueWith((contract) => //{ // //contract import // if (configurationData.ContainsKey(this.contract)) // { // var contractConfigObject = configurationData[this.contract]; // if (contractConfigObject != null) // _contractImportService.ImportContractData(contractConfigObject, userGuid, errorLogPath); // } //}).ContinueWith((mod) => //{ // //mods import // if (configurationData.ContainsKey(this.mods)) // { // var modsConfigObject = configurationData[this.mods]; // if (modsConfigObject != null) // _modImportService.ImportModsData(modsConfigObject, userGuid, errorLogPath); // } //}); } catch (Exception ex) { _exportCSVService.ErrorLog("", "", errorLogPath, ex.Message); } }