private static void SaveTextToPath(string path, DataSet dataSet) { CsvImportExport exporter = new CsvImportExport(); exporter.Export(path, dataSet); }
private void ImportAccounts() { fileDialog.InitialDirectory = Application.CommonAppDataPath; fileDialog.Filter = @"CSV (*.csv)|*.csv|All files (*.*)|*.*"; fileDialog.FilterIndex = 1; fileDialog.RestoreDirectory = true; if (fileDialog.ShowDialog() == DialogResult.OK) { try { bool deleteRelated = Confirm(MultiLanguageStrings.GetString(Ressource.ChartOfAccountsForm, "ToDeleteTheChartOfAccounts.Text")); CsvImportExport importer = new CsvImportExport(); string filePath = fileDialog.FileName; List <Account> accounts = new List <Account>(); ChartOfAccountsServices coaServices = ServicesProvider.GetInstance().GetChartOfAccountsServices(); if (deleteRelated) { IEnumerable <string> relatedDatas = coaServices.HasRelatedDatas(); if (relatedDatas != null && relatedDatas.Any()) { string[] domainObjects = relatedDatas .Select( r => GetString(string.Format("RelatedData.{0}", r)) ).Distinct().ToArray(); string message = string.Format( GetString("RelatedDataExists.Text"), string.Join(",", domainObjects)); if (!Confirm(message)) { return; } } } importer.Import(filePath, items => { Account account = new Account { Id = Convert.ToInt32(items[0]), Number = items[1], Label = items[2], DebitPlus = Convert.ToBoolean(items[3]), TypeCode = items[4], AccountCategory = (OAccountCategories)(Convert.ToInt32(items[5])), Type = Convert.ToBoolean(items[6]), ParentAccountId = items[5].ToUpper() == "0" ? null : (int?)Convert.ToInt32(items[7]), Left = Convert.ToInt32(items[8]), Right = Convert.ToInt32(items[9]) }; accounts.Add(account); }); coaServices.InsertCoa(accounts.ToArray(), deleteRelated); IntializeTreeViewChartOfAccounts(); } catch (Exception ex) { new frmShowError(CustomExceptionHandler.ShowExceptionText(ex)).ShowDialog(); } } }