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);
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
 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);
 }
Esempio n. 4
0
 private void TreeView1_BeforeSelect(object sender, TreeViewCancelEventArgs e)
 {
     if (mouseClicked)
     {
         MyMessageBox.display("before select");
     }
 }
Esempio n. 5
0
        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;
                }
            }
        }
Esempio n. 6
0
        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);
        }
Esempio n. 7
0
        //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();
                }
            }
        }
Esempio n. 8
0
        //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 = "";
            }
        }
Esempio n. 9
0
        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
        }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
 private void TreeView1_AfterSelect(object sender, TreeViewEventArgs e)
 {
     if (mouseClicked)
     {
         MyMessageBox.display("after select");
         mouseClicked = false;
     }
 }
Esempio n. 14
0
        private void saveChanges()
        {
            ChangedDataBundle changedDataBundle = new ChangedDataBundle(userAppChangeDict, userBackupDict);

            DBWriter writer = new DBWriter(dbConnection);
            string   query  = generateQuery(changedDataBundle);

            MyMessageBox.display(query);
            writer.writeToDB(query);
        }
Esempio n. 15
0
 protected void DBEditorForm_FormClosing(object sender, FormClosingEventArgs e)
 {
     if (dg1Handler.checkChangesExist())
     {
         if (MyMessageBox.display("Czy zapisać zmiany?", MessageBoxType.YesNo) == MyMessageBoxResults.Yes)
         {
             //zaimplementować
         }
     }
 }
Esempio n. 16
0
 private void RefreshButton_Click(object sender, EventArgs e)
 {
     if (userAppChangeDict.Count > 0)
     {
         MyMessageBox.display("Należy najpierw zapisać zmiany", MessageBoxType.Error);
     }
     else
     {
         resetAdminForm();
     }
 }
Esempio n. 17
0
 //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);
     }
 }
Esempio n. 18
0
 private void readConnStringFromFile(string delimiter)
 {
     if (configFileValidationWasDone)
     {
         dbConnectionString = readStringFromFile(delimiter);
     }
     else
     {
         dbConnectionString = "";
         MyMessageBox.display("nie uruchomiono metody validateConfigFile, connectionString jest pusty", MessageBoxType.Error);
     }
 }
Esempio n. 19
0
 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);
 }
Esempio n. 20
0
 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);
 }
Esempio n. 21
0
 private bool testConnection()
 {
     try
     {
         dbConnection.Open();
         dbConnection.Close();
         return(true);
     }
     catch (System.Data.SqlClient.SqlException e)
     {
         MyMessageBox.display(e.Message, MessageBoxType.Error);
     }
     return(false);
 }
Esempio n. 22
0
        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);
            }
        }
Esempio n. 24
0
 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);
     }
 }
Esempio n. 26
0
        //--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);
     }
 }
Esempio n. 28
0
        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);
        }
Esempio n. 29
0
        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");
     }
 }