public string readFile(string file) { string fileText = ""; try { fileText = File.ReadAllText(file); if (fileText.Equals("")) { MyMessageBox.display("plik " + file + " jest pusty"); return(""); } } catch (DirectoryNotFoundException exc) { MyMessageBox.display(exc.Message, MessageBoxType.Error); return(""); } catch (FileNotFoundException exc) { MyMessageBox.display(exc.Message, MessageBoxType.Error); return(""); } return(fileText); }
public void writeToDB(List <string> queries) { SqlDataAdapter adapter = new SqlDataAdapter(); dbConnection.Open(); foreach (string query in queries) { if (query != null) { try { SqlCommand command = new SqlCommand(query, dbConnection); adapter.InsertCommand = command; adapter.InsertCommand.ExecuteNonQuery(); command.Dispose(); } catch (System.Data.SqlClient.SqlException e) { MyMessageBox.display(e.Message, MessageBoxType.Error); } catch (InvalidOperationException ex) { MyMessageBox.display(ex.Message, MessageBoxType.Error); } } } dbConnection.Close(); }
private bool handleBit(object cellValue) { try { int value = int.Parse(cellValue.ToString()); if (value == 1 || value == 0) { return(true); } else { MyMessageBox.display("\r\nNależy wprowadzić liczbę 0 lub 1", MessageBoxType.Error); return(false); } } catch (FormatException e) { MyMessageBox.display(e.Message + "\r\nNależy wprowadzić liczbę 0 lub 1", MessageBoxType.Error); } catch (OverflowException e) { MyMessageBox.display(e.Message + "\r\nNależy wprowadzić liczbę 0 lub 1", MessageBoxType.Error); } return(false); }
private void TreeView1_BeforeSelect(object sender, TreeViewCancelEventArgs e) { if (mouseClicked) { MyMessageBox.display("before select"); } }
private void rolaListView_ItemChecked(object sender, ItemCheckedEventArgs e) { if (rolaListMouseClicked) //uruchamiam kod metody tylko wtedy, gdy użytkownik kliknie { string userId = currentSelectedUser.Name; if (!userId.Equals("")) //muszę tu też sprawdzić, bo odznaczanie checkboxa roli w przypadku zaznaczenia gałęzi wyzwala to zdarzenie i wywala się błąd na ID użytkownika=="" { try { previousCheckedRola = currentCheckedRola; setCurrentCheckedRola(); if (currentSelectedApp != null) { addUpdateUserApp(currentSelectedApp.Name, currentSelectedApp.Checked); } } catch (ArgumentNullException ex) { MyMessageBox.display(ex.Message + " ArgumentNull rolaListView_ItemChecked", MessageBoxType.Error); } catch (NullReferenceException exc) { MyMessageBox.display(exc.Message + " NullReference rolaListView_ItemChecked", MessageBoxType.Error); } } rolaListMouseClicked = false; if (previousCheckedRola != null) { //upewniam się, że checkbox jest zaznaczony tylko przy jednej roli, odznaczając poprzedni previousCheckedRola.Checked = false; } } }
private void PomocToolStripMenuItem_Click(object sender, EventArgs e) { string pomoc = "(*) pierwsza kolumna wyników kwerendy MUSI zawierać ID (lub inny klucz główny)" + "\r\nidentyfikujący jednoznacznie wiersz wyników kwerendy zasilającej datagrid"; MyMessageBox.display(pomoc, MessageBoxType.Information); }
//button, którego kliknięcie wypełnia danymi z kwerendy główny datagrid //jest to pierwszy przycisk, który użytkownik może nacisnąć po wpisaniu kwerendy w pole tekstowe private void displayButton_Click(object sender, EventArgs e) { //przekazuję kwerendę do DBConnectora w celu utworzenia połaczenia, wyciągam od razu nazwę bazy danych, jest potrzebna później if (configFileValidated) { sqlQuery = sqlQueryTextBox.Text; //sql nie widzi różnicy pomiędzy lower i upper case a ma to znaczenie przy wyszukiwaniu słow kluczowych w kwerendzie dbName = connector.getTableName(sqlQueryTextBox.Text.ToLower()); dbConnection = connector.getDBConnection(ConnectionSources.serverNameInFile, ConnectionTypes.sqlAuthorisation); if (dg1Handler.checkChangesExist()) { if (MyMessageBox.display("Czy zapisać zmiany?", MessageBoxType.YesNo) == MessageBoxResults.Yes) { //zaimplementować } } else { dg1Handler.Dispose(); //likwiduję starą instancję utworzoną w konstruktorze, bo jest to de facto wyświetlenie od zera i operacje na datagridzie od zera dg1Handler = new DataGridHandler(); //każdy datagrid musi mieć swoją instancję DataGridHandlera dataGridView1.Rows.Clear(); dataGridView1.Refresh(); datagridRowIndex = 0; loadNextButton.Visible = false; setUpDatagrid(); } } }
//wyciąga nazwę db z kwerendy wpisanej przez użytkownika private void extractTableName(TextManipulator tm) { //znajduję położenie wyrazu kluczowego "from" w kwerendzie List <int> keyWordFromPosition = tm.getSubstringStartPositions(sqlQuery, "from"); try { //wywala bład gdy kwerenda jest na tyle bezsensowna, że nie potrafi wyłuskać sensownego wyrazu, który mógłby być nazwą bazy danych string textAfterFrom = sqlQuery.Substring(keyWordFromPosition[0] + 5); //dodaję 5 tj długość wyrazu "from" i jedną spację int firstSpacePosition = textAfterFrom.IndexOf(" "); if (firstSpacePosition == -1) //brak spacji { tableName = textAfterFrom; } else { tableName = textAfterFrom.Substring(0, firstSpacePosition); } } catch (System.ArgumentOutOfRangeException e) { MyMessageBox.display("Błąd w kwerendzie", MessageBoxType.Error); tableName = ""; } }
public bool validateConfigFile(string currentPath) { FileManipulator fm = new FileManipulator(); configFilePath = currentPath + ProgramSettings.configFilePath; string configFile = configFilePath + @"\" + ProgramSettings.configFileName; configFileText = fm.readFile(configFile); if (!configFileText.Equals("")) //plik konfiguracyjny istnieje i nie jest pusty { TextManipulator tm = new TextManipulator(); List <int> indexes = tm.getSubstringStartPositions(configFileText, ProgramSettings.connectionStringDelimiter); //jeżeli w pliku jest błąd i jest za dużo lub za mało znaczników if (indexes.Count != 2) { MyMessageBox.display("błąd pliku konfiguracyjnego " + configFile + " dla znacznika " + ProgramSettings.connectionStringDelimiter, MessageBoxType.Error); configFileValidated = false; } } else { configFileValidated = false; //plik jest pusty lub go nie ma } configFileValidationWasDone = true; return(configFileValidated); //domyślnie jest true }
private void DataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) { DataGridViewCell dgCell = dataGridView1.SelectedCells[0]; int x = dgCell.RowIndex; int y = dgCell.ColumnIndex; MyMessageBox.display("end edit " + x + " column " + y); }
private void CheckBox1_CheckStateChanged(object sender, EventArgs e) { DataGridViewCell dgCell = dataGridView1.SelectedCells[0]; int x = dgCell.RowIndex; int y = dgCell.ColumnIndex; MyMessageBox.display("checked state changed " + x + " column " + y); }
private void DataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e) { DataGridViewCell dgCell = dataGridView1.SelectedCells[0]; int x = dgCell.RowIndex; int y = dgCell.ColumnIndex; MyMessageBox.display("cell mouse clicked " + x + " column " + y); }
private void TreeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (mouseClicked) { MyMessageBox.display("after select"); mouseClicked = false; } }
private void saveChanges() { ChangedDataBundle changedDataBundle = new ChangedDataBundle(userAppChangeDict, userBackupDict); DBWriter writer = new DBWriter(dbConnection); string query = generateQuery(changedDataBundle); MyMessageBox.display(query); writer.writeToDB(query); }
protected void DBEditorForm_FormClosing(object sender, FormClosingEventArgs e) { if (dg1Handler.checkChangesExist()) { if (MyMessageBox.display("Czy zapisać zmiany?", MessageBoxType.YesNo) == MyMessageBoxResults.Yes) { //zaimplementować } } }
private void RefreshButton_Click(object sender, EventArgs e) { if (userAppChangeDict.Count > 0) { MyMessageBox.display("Należy najpierw zapisać zmiany", MessageBoxType.Error); } else { resetAdminForm(); } }
//podświetla zaznaczony wiersz w drzewie na wybrany kolor gdy użytkownik kliknie w inny obiekt w formularzu //domyślnie ten kolor jest bladoszary, dla mnie zbyt niewidoczny private void userTreeView_Leave(object sender, EventArgs e) { try { currentSelectedUser.BackColor = Color.Aqua; currentSelectedUser.ForeColor = Color.Black; } catch (NullReferenceException ex) { MyMessageBox.display(ex.Message); } }
private void readConnStringFromFile(string delimiter) { if (configFileValidationWasDone) { dbConnectionString = readStringFromFile(delimiter); } else { dbConnectionString = ""; MyMessageBox.display("nie uruchomiono metody validateConfigFile, connectionString jest pusty", MessageBoxType.Error); } }
private bool handleBigint(object cellValue) { try { long value = long.Parse(cellValue.ToString()); return(true); } catch (FormatException e) { MyMessageBox.display(e.Message + "\r\nNależy wprowadzić liczbę całkowitą", MessageBoxType.Error); } return(false); }
private bool handleDatetime(object cellValue) { try { DateTime value = DateTime.Parse(cellValue.ToString()); return(true); } catch (FormatException e) { MyMessageBox.display(e.Message + "\r\nNależy wprowadzić datę", MessageBoxType.Error); } return(false); }
private bool testConnection() { try { dbConnection.Open(); dbConnection.Close(); return(true); } catch (System.Data.SqlClient.SqlException e) { MyMessageBox.display(e.Message, MessageBoxType.Error); } return(false); }
private void EditRolaLabel_Click(object sender, EventArgs e) { if (currentSelectedApp != null) { App app; appDictionary.TryGetValue(currentSelectedApp.Name, out app); string query = SqlQueries.getRolaList.Replace("@filter", SqlQueries.getRolaList_rolaFilter_AppId) + app.id; RolaEditorForm dbRolaEditor = new RolaEditorForm(dbConnection, query, app); dbRolaEditor.ShowDialog(); } else { MyMessageBox.display("należy zaznaczyć aplikację"); } }
//podana musi być pełna ścieżka do obu plików //jeżeli istnieje już plik docelowy, zostaje nadpisany //oryginał zostaje zachowany public bool fileCopyAs(string file1, string file2) { if (File.Exists(file1)) { if (File.Exists(file2)) { File.Delete(file2); } File.Copy(file1, file2); return(true); } else { MyMessageBox.display("brak pliku " + file1, MessageBoxType.Error); return(false); } }
private bool handleInt(object cellValue) { try { int value = int.Parse(cellValue.ToString()); //zwykły parse zapisany jako (int)cellValue nie działa return(true); } catch (FormatException e) { MyMessageBox.display(e.Message + "\r\nNależy wprowadzić liczbę całkowitą", MessageBoxType.Error); } catch (OverflowException e) { MyMessageBox.display(e.Message + "\r\nNależy wprowadzić liczbę całkowitą od -32,768 do 32,767 ", MessageBoxType.Error); } return(false); }
public bool assertFileExists(string file) { try { return(File.Exists(file)); } catch (DirectoryNotFoundException exc) { MyMessageBox.display(exc.Message, MessageBoxType.Error); return(false); } catch (FileNotFoundException exc) { MyMessageBox.display(exc.Message, MessageBoxType.Error); return(false); } }
//--zapisywanie zmian w tej formatce // //datagrid po lewej // //1. zmiana nazwy lub opisu aplikacji - obsłużone funkcjami dziedziczonymi // //2. dodawanie aplikacji //insert into app_list(name_app, path_app, name_db, srod_app, descr_app, variant, appName, appPath, appDisplayName) //values(@nameApp, @pathApp, @nameDb, @srodApp, @descrApp, @variant, @appName, @appPath, @appDisplayName) // //3. usuwanie aplikacji //zabudować sprawdzenie, czy do aplikacji przypisane są jekieś role i/lub uprawnienia i jeżeli tak to uniemożliwić usunięcie //select count(*) as numberOfEntries from rola_app where ID_app = //select count(*) as numberOfEntries from app_users where ID_app = //select count(*) as numberOfEntries from app_upr where ID_app = //gdy wynik wszystkich powyższych pytań jest 0 //delete from app_list where ID_app = // // //datagrid po prawej // //--1. edycja nazw / opisów ról aplikacji //--update rola_app set name_rola = @newRolaName, descr_rola = @newRolaDescr where ID_rola = // //--2. dodanie roli //--insert into rola_app values(ID_app, name_rola, descr_rola) values(@idApp, @rolaNewName, @rolaNewDescr) // //--3. usuwanie roli //zabudować sprawdzenie, czy do roli przypisane są jekieś uprawnienia i jeżeli tak to uniemożliwić usunięcie //select count(*) as numberOfEntries from rola_upr where ID_rola = //gdy wynik powyższego pytania jest 0 //delete from rola_app where ID_rola = @idRola private void saveChanges() { MyMessageBox.display("naciśnięty przycisk zapisu"); //DBWriter writer = new DBWriter(dbConnection); //string query; //while (dgHandler.checkChangesExist()) //{ // DataGridCell cell = dgHandler.getLastCellChangedAndUndoChanges(); // query = generateUpdateQuery(cell); // writer.writeToDB(query); // moduleDatagrid.changeCellTextColour(cell, Color.Black); //} //blokuję przyciski zapisu i cofania, bo po zapisaniu zmian już nie ma czego zapisać ani cofnąć moduleDatagrid.undoButtonDisable(); moduleDatagrid.saveButtonDisable(); }
public void runProgram(string program) { try { System.Diagnostics.Process.Start(program); } catch (System.ComponentModel.Win32Exception exc) { //displayMessage(exc.Message); } catch (DirectoryNotFoundException exc) { MyMessageBox.display(exc.Message, MessageBoxType.Error); } catch (FileNotFoundException exc) { MyMessageBox.display(exc.Message, MessageBoxType.Error); } }
private bool handleDouble(object cellValue) { string stringCellValue = cellValue.ToString(); try { double value = Double.Parse(stringCellValue); return(true); } catch (InvalidCastException e) { MyMessageBox.display(e.Message + "\r\nNależy wprowadzić liczbę", MessageBoxType.Error); } catch (FormatException ex) { MyMessageBox.display(ex.Message + "\r\nZnak separatora dziesiętnego musi być taki jaki jest ustawiony w systemie"); } return(false); }
private string currentPath = ""; //katalog z którego uruchamiany jest program, wykrywany przez DBConnector i ustawiany tutaj //dla DEBUGA ustawiony jest w metodzie ReadAllData public DesktopForm(QueryData userData, string userPassword, DBReader dbReader, string currentPath) { this.userData = userData; this.userPassword = userPassword; this.dbReader = dbReader; this.currentPath = currentPath; readDesktopData(); if (desktopData.getQueryData().Count > 0) { InitializeComponent(); setupDesktop(); } // niczego nie przeczytał bo użytkownik nie ma uprawnień do żadnych programów // w chwili obecnej z tą kwerendą która jest zdefiniowana w ProgramSettings nie zadziała, bo wyświetlam wszystkie programy niezależnie od dostępu użytkownika //trzeba by filtrować np. po Grant_app else { MyMessageBox.display("użytkownik nie ma dostępu do żadnych programów", MessageBoxType.Error); this.Dispose(); } }
public string saveTextToFile(string file, string text) { try { if (File.Exists(file)) { File.WriteAllText(file, text); return("zmieniono plik konfiguracyjny " + file + "\r\n"); } else { MyMessageBox.display("plik " + file + " nie został znaleziony", MessageBoxType.Warning); return("plik " + file + " nie został znaleziony\r\n"); } } catch (DirectoryNotFoundException exc) { MyMessageBox.display(exc.Message, MessageBoxType.Error); return("plik " + file + " nie został znaleziony\r\n"); } }