private async void GetImportedRows(string fileName, ExportImportDataType dataType) { switch (dataType) { case ExportImportDataType.CatchLocalNames: int result = await Names.ImportLocalNamesAsync(fileName); break; case ExportImportDataType.CatchLocalNameSpeciesNamePair: result = await Names.ImportLocalNamestoScientificNamesAsync(fileName); break; } lblList.Text = "List of species names"; MessageBox.Show($"{_rowsImported} local name - species name pairs were saved to the database", "Import successful", MessageBoxButtons.OK, MessageBoxIcon.Information); }
private bool ExportData(ExportImportDataType dataType, string title) { var success = false; FileDialogHelper.Title = title; FileDialogHelper.DialogType = FileDialogType.FileSave; FileDialogHelper.DataFileType = DataFileType.Text | DataFileType.XML | DataFileType.CSV; FileDialogHelper.ShowDialog(); var fileName = FileDialogHelper.FileName; switch (Path.GetExtension(fileName)) { case ".txt": break; case ".XML": case ".xml": switch (dataType) { case ExportImportDataType.CatchNameAll: ExportNames(fileName); break; case ExportImportDataType.LocalNameLanguages: ExportNames(fileName, exportLanguage: true, exportLocalNames: false, exportLNSNPair: false); break; case ExportImportDataType.CatchLocalNames: ExportNames(fileName, exportLanguage: false, exportLocalNames: true, exportLNSNPair: false); break; case ExportImportDataType.CatchLocalNameSpeciesNamePair: ExportNames(fileName, exportLanguage: false, exportLocalNames: false, exportLNSNPair: true); break; } break; case ".csv": break; } return(true); }
private async void OnToolBarItemClick(object sender, ToolStripItemClickedEventArgs e) { switch (e.ClickedItem.Name) { case "tbClose": Close(); break; case "tbAdd": SpeciesNameForm snf = new SpeciesNameForm(this); snf.ShowDialog(this); break; case "tbRemove": break; case "tbEdit": ShowNameDetail(); break; case "tbExport": var count = 0; var taxaCSV = ""; if (lvTaxa.CheckedItems.Count > 0) { foreach (ListViewItem checkedItem in lvTaxa.CheckedItems) { taxaCSV += ((Taxa)int.Parse(checkedItem.Name)).ToString() + ","; } taxaCSV.Trim(','); } using (ExportImportDialogForm edf = new ExportImportDialogForm(ExportImportDataType.SpeciesNames, ExportImportDeleteAction.ActionExport)) { edf.TaxaCSV = taxaCSV; edf.ShowDialog(this); if (edf.DialogResult == DialogResult.OK) { ExportImportDataType result = edf.Selection; if (result == ExportImportDataType.SpeciesNames) { FileDialogHelper.Title = "Provide filename for exported species name"; FileDialogHelper.DialogType = FileDialogType.FileSave; FileDialogHelper.DataFileType = DataFileType.Text | DataFileType.XML | DataFileType.CSV; FileDialogHelper.ShowDialog(); var fileName = FileDialogHelper.FileName; if (fileName.Length > 0) { switch (Path.GetExtension(fileName)) { case ".xml": case ".XML": ProgessIndicatorForm pif = new ProgessIndicatorForm(url: "", fileName); pif.ExportImportDataType = ExportImportDataType.SpeciesNames; pif.ExportImportDeleteAction = ExportImportDeleteAction.ActionExport; pif.Show(this); int r = await Names.ExportSpeciesNamesAsync(fileName); break; case ".txt": break; case ".csv": break; } } } } } break; case "tbImport": using (ExportImportDialogForm edf = new ExportImportDialogForm(ExportImportDataType.SpeciesNames, ExportImportDeleteAction.ActionImport)) { edf.ShowDialog(this); if (edf.DialogResult == DialogResult.OK) { ExportImportDataType result = edf.Selection; if (result == ExportImportDataType.SpeciesNames) { FileDialogHelper.Title = "Provide filename for imported species name"; FileDialogHelper.DialogType = FileDialogType.FileOpen; FileDialogHelper.DataFileType = DataFileType.Text | DataFileType.XML | DataFileType.CSV | DataFileType.HTML; FileDialogHelper.ShowDialog(); var fileName = FileDialogHelper.FileName; if (fileName.Length > 0) { ProgessIndicatorForm pif; // = new ProgessIndicatorForm(); switch (Path.GetExtension(fileName)) { case ".htm": case ".html": using (HTMLTableSelectColumnsForm htmlColForm = new HTMLTableSelectColumnsForm(fileName, CatchNameDataType.CatchSpeciesName)) { DialogResult dr = htmlColForm.ShowDialog(this); if (dr == DialogResult.OK) { pif = new ProgessIndicatorForm(url: "", fileName); pif.ExportImportDataType = ExportImportDataType.SpeciesNames; pif.ExportImportDeleteAction = ExportImportDeleteAction.ActionImport; pif.Show(this); int r1 = await Names.ImportSpeciesNamesAsync(fileName, htmlColForm.SpeciesNameColumn); lvNames.Visible = false; lvNames.Items.Clear(); FillListNames(); SizeColumns(lvNames, false); lvNames.Visible = true; lblListViewLabel.Text = "List of species names"; //GetImportedRows(fileName, htmlColForm.SpeciesNameColumn); } } break; case ".xml": pif = new ProgessIndicatorForm(url: "", fileName); pif.ExportImportDataType = ExportImportDataType.SpeciesNames; pif.ExportImportDeleteAction = ExportImportDeleteAction.ActionImport; pif.Show(this); int r = await Names.ImportSpeciesNamesAsync(fileName, null); lvNames.Visible = false; lvNames.Items.Clear(); FillListNames(); SizeColumns(lvNames, false); lvNames.Visible = true; lblListViewLabel.Text = "List of species names"; break; } } } } } break; } }
public ExportImportDialogForm(ExportImportDataType exportDataType, ExportImportDeleteAction action) { InitializeComponent(); _dataType = exportDataType; _action = action; }
private bool ImportData(ExportImportDataType dataType, string title) { var result = Names.Languages; FileDialogHelper.Title = title; FileDialogHelper.DialogType = FileDialogType.FileOpen; FileDialogHelper.DataFileType = DataFileType.Text | DataFileType.XML | DataFileType.HTML; DialogResult dr = FileDialogHelper.ShowDialog(); if (dr == DialogResult.OK && FileDialogHelper.FileName.Length > 0) { var fileName = FileDialogHelper.FileName; switch (dataType) { case ExportImportDataType.CatchNameAll: switch (Path.GetExtension(fileName).ToLower()) { case ".xml": GetCatchNamesAllXMLAsync(fileName); break; } break; case ExportImportDataType.CatchLocalNames: GetImportedRows(fileName, ExportImportDataType.CatchLocalNames); break; case ExportImportDataType.CatchLocalNameSpeciesNamePair: switch (Path.GetExtension(fileName)) { case ".htm": case ".html": using (HTMLTableSelectColumnsForm htmlColForm = new HTMLTableSelectColumnsForm(fileName, CatchNameDataType.CatchSpeciesLocalNamePair)) { DialogResult dr1 = htmlColForm.ShowDialog(this); if (dr1 == DialogResult.OK) { ProgessIndicatorForm pif = new ProgessIndicatorForm(url: "", fileName); pif.ExportImportDataType = ExportImportDataType.CatchLocalNameSpeciesNamePair; pif.ExportImportDeleteAction = ExportImportDeleteAction.ActionImport; pif.Show(this); GetImportedRowsAsync(fileName, htmlColForm.SpeciesNameColumn, htmlColForm.LocalNameColumn, htmlColForm.LanguageColumn); } } break; default: GetImportedRows(fileName, ExportImportDataType.CatchLocalNameSpeciesNamePair); break; } break; case ExportImportDataType.LocalNameLanguages: var savedLanguages = Names.ImportLanguages(fileName); MessageBox.Show($"{savedLanguages} languages saved to the database"); break; } SetTreeItem("root"); SetUI(); return(true); } else { return(false); } }
public ImportRowsFromFileEventArgs(int rowsImported, ExportImportDataType dataType, bool isComplete) { RowsImported = rowsImported; DataType = dataType; IsComplete = isComplete; }