예제 #1
0
        // event. CellContentClick de la Paiement dataGridView
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            DataGridView senderGrid = (DataGridView)sender;

            // si click sur un des bouttons supprimerPaiement
            if (senderGrid.Columns[e.ColumnIndex] is DataGridViewButtonColumn && e.RowIndex >= 0 && e.ColumnIndex == 0)
            {
                try
                {
                    if (MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Confirmer_Suppression_Paiement", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, ClassGlobal.msgBoxOptions) == DialogResult.Yes)
                    {
                        // on récupère l'id du paiement séléctionné
                        int paiementId = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["id"].Value);

                        // on boucle sur la dataTable Paiement
                        for (int i = 0; i < ClassGlobal.ds.Tables["Paiement"].Rows.Count; i++)
                        {
                            // si clé primaire trouvé
                            if (Convert.ToInt32(ClassGlobal.ds.Tables["Paiement"].Rows[i]["id"]) == paiementId)
                            {
                                // suppression du paiement
                                ClassGlobal.ds.Tables["Paiement"].Rows[i].Delete();
                                ClassGlobal.appliquerChangement(ClassGlobal.daPaiement, "Paiement");
                                break; // on sort de la boucle for
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
                }
            }
        }
예제 #2
0
 // event. Click sur le boutton 'EnregistrerPaiementBtn'
 private void EnregistrerPaiementBtn_Click(object sender, EventArgs e)
 {
     try
     {
         // si le montant est vide
         if (MontantMaskedTextBox.Text.Length == 0)
         {
             MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Montant_Obligatoire", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
             MontantMaskedTextBox.Focus();
         }
         else // si nn, c'est bon
         {
             // ajout du paiement
             ClassGlobal.ds.Tables["Paiement"].Rows.Add(null, ClassGlobal.ds.Tables["Client"].Rows[position]["id"], MontantMaskedTextBox.Text, DatePaiementDateTimePicker.Value);
             ClassGlobal.appliquerChangement(ClassGlobal.daPaiement, "Paiement");
             //MessageBox.Show("Paiement enregistré !", ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Information);
             // mise à jour de la dataTable Paiement (pour avoir les bon ids, afin de pouvoir supprimer un paiement)
             ClassGlobal.getPaiement();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
     }
 }
예제 #3
0
 // event. Click sur le boutton 'SupprimerBtn'
 private void SupprimerBtn_Click(object sender, EventArgs e)
 {
     try
     {
         // si jamais la combobox est vide
         if (TravailCombo.Items.Count == 0)
         {
             throw new Exception(ClassGlobal.resManager.GetString("MessageBox_Rien_A_Supprimer", ClassGlobal.cul));
         }
         else if (MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Confirmer_Suppression_Travail", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, ClassGlobal.msgBoxOptions) == DialogResult.Yes)
         {
             // on boucle sur la dataTable Travail
             for (int i = 0; i < ClassGlobal.ds.Tables["Travail"].Rows.Count; i++)
             {
                 // si clé primaire trouvé
                 if (ClassGlobal.ds.Tables["Travail"].Rows[i]["id"].ToString() == TravailCombo.SelectedValue.ToString())
                 {
                     // suppression
                     ClassGlobal.ds.Tables["Travail"].Rows[i].Delete();
                     ClassGlobal.appliquerChangement(ClassGlobal.daTravail, "Travail");
                     MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Travail_Supprimé", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
                     // mise à jour de la dataTable Client (pour supprimer les clients en relation avec ce travail)
                     ClassGlobal.getClient();
                     break; // on sort de la boucle for
                 }
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
     }
 }
예제 #4
0
        // event. Click sur le boutton 'SupprimerPiece'
        private void SupprimerPieceBtn_Click(object sender, EventArgs e)
        {
            try
            {
                // s'il n'y a aucune pièce
                if (piecesPbList.Count == 0)
                {
                    throw new Exception(ClassGlobal.resManager.GetString("MessageBox_Aucune_Piece", ClassGlobal.cul));
                }
                else // si nn
                {
                    // on parcourt toutes les pieces
                    for (int i = 0; i < piecesPbList.Count; i++)
                    {
                        // si on trouve qu'une piece est séléctionnée
                        if (piecesPbList[i].BackColor == SystemColors.Highlight && piecesPbList[i].Padding.All == 3)
                        {
                            if (MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Confirmer_Suppression_Piece", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, ClassGlobal.msgBoxOptions) == DialogResult.Yes)
                            {
                                // on parcourt la dataTable 'Pieces'
                                for (int p = 0; p < ClassGlobal.ds.Tables["Pieces"].Rows.Count; p++)
                                {
                                    // si on trouve que la clé primaire (id) == tag de l'image ou on a sauvegardé l'id nous aussi
                                    if (ClassGlobal.ds.Tables["Pieces"].Rows[p]["id"].ToString() == piecesPbList[i].Tag.ToString())
                                    {
                                        // suppression de l'image
                                        File.Delete(piecesPbList[i].ImageLocation);
                                        // suppression de la piece de la table 'Pieces'
                                        ClassGlobal.ds.Tables["Pieces"].Rows[p].Delete();
                                        ClassGlobal.appliquerChangement(ClassGlobal.daPieces, "Pieces");
                                        // raffraichissement des pieces
                                        showPieces(currentClientId);
                                        break; // on sort de la 2ème boucle
                                    }
                                }
                            }

                            // on sort de la fonction
                            return;
                        }
                    }

                    // si nn, aucune piece n'est séléctionnée
                    MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Selectionner_Piece", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
            }
        }
예제 #5
0
        // addPieceAs(...) : ajoute la pièce spécifiée selon le type spécifié
        private void addPieceAs(string emplacementPiece, string typePiece)
        {
            // on récupère le chemin ou on va pouvoir stocker l'image
            string imageFolderName = ClassGlobal.PiecesSaveFolder + "\\" + currentClientId + "_";// +NomTextBox.Text;
            // on récupère le nom de l'image
            string imageFileName = emplacementPiece.Remove(0, emplacementPiece.LastIndexOf('\\') + 1);
            // on copie l'image dans le répertoire de notre base de données
            string destinationFileName = imageFolderName + "\\" + DateTime.Now.ToString().Replace("/", "-").Replace(":", "-").Replace(" ", "_") + "_" + imageFileName;

            File.Copy(emplacementPiece, ClassGlobal.AppPath + "\\" + destinationFileName, true);
            // on ajoute la photo en tant que Piece
            ClassGlobal.ds.Tables["Pieces"].Rows.Add(null, currentClientId, destinationFileName, typePiece);
            ClassGlobal.appliquerChangement(ClassGlobal.daPieces, "Pieces");
            // mise à jour de la dataTable 'Pieces' (pour avoir les bon ids des pièces)
            ClassGlobal.getPieces();
        }
예제 #6
0
 // event. Click on boutton 'Modifier'
 private void ModifierBtn_Click(object sender, EventArgs e)
 {
     try
     {
         // si le nom est vide
         if (NomTextBox.Text.Length == 0)
         {
             MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Nom_Obligatoire", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
             NomTextBox.Focus();
         }
         // si nn si nom en double
         else if (checkDoubleClientNameNotCurrent(NomTextBox.Text, position))
         {
             MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Nom_D_un_Autre_Client", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
             //NomTextBox.Text = ""; // on vide le textbox du nom
             NomTextBox.SelectAll(); // on séléctionne le nom au cas l'utilisateur veut bien le supprimer
             NomTextBox.Focus();
         }
         else // si nn, c'est bon
         {
             // on parcourt la dataTable Client
             for (int i = 0; i < ClassGlobal.ds.Tables["Client"].Rows.Count; i++)
             {
                 // si clé primaire trouvée
                 if (Convert.ToInt32(ClassGlobal.ds.Tables["Client"].Rows[i]["id"]) == currentClientId)
                 {
                     // modification
                     ClassGlobal.ds.Tables["Client"].Rows[position]["nom"]        = NomTextBox.Text;
                     ClassGlobal.ds.Tables["Client"].Rows[position]["id_travail"] = TravailCombo.SelectedValue;
                     if (DateNaissMaskedTextBox.MaskCompleted)
                     {
                         ClassGlobal.ds.Tables["Client"].Rows[position]["date_naissance"] = DateNaissMaskedTextBox.Text;
                     }
                     ClassGlobal.ds.Tables["Client"].Rows[position]["numero_telephone"] = NumTelMaskedTextBox.Text.Replace(" ", string.Empty);
                     ClassGlobal.ds.Tables["Client"].Rows[position]["email"]            = EmailTextBox.Text;
                     ClassGlobal.appliquerChangement(ClassGlobal.daClient, "Client");
                     MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Client_Modifié", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
                     break; // on sort de la boucle
                 }
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
     }
 }
예제 #7
0
 // event. Click on boutton 'Supprimer'
 private void SupprimerBtn_Click(object sender, EventArgs e)
 {
     try
     {
         if (MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Confirmer_Suppression_Client", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, ClassGlobal.msgBoxOptions) == DialogResult.Yes)
         {
             // on boucle sur la dataTable Client
             for (int i = 0; i < ClassGlobal.ds.Tables["Client"].Rows.Count; i++)
             {
                 // si clé primaire trouvé
                 if (Convert.ToInt32(ClassGlobal.ds.Tables["Client"].Rows[i]["id"]) == currentClientId)
                 {
                     // suppression du client
                     ClassGlobal.ds.Tables["Client"].Rows[i].Delete();
                     ClassGlobal.appliquerChangement(ClassGlobal.daClient, "Client");
                     // suppression du dossier du client (!@ avec tout son contenu)
                     string clientFolderName = ClassGlobal.PiecesSaveFolder + "\\" + currentClientId + "_";
                     if (Directory.Exists(clientFolderName))
                     {
                         Directory.Delete(clientFolderName, true);
                     }
                     // si on peu faire un retour en arrière
                     if (ClassGlobal.ds.Tables["Client"].Rows.Count > 0)
                     {
                         // on revient en arrière (simulation d'un click sur 'Précédent')
                         PrécédentBtn_Click(sender, e);
                         MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Client_Supprimé", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
                     }
                     else
                     {
                         MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Client_Supprimé_Plus_Fermeture", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
                         this.Close();
                     }
                     break; // on sort de la boucle for
                 }
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
     }
 }
예제 #8
0
        // updatePiece(...) : met à jour une pièce, en la copyant dans la bdd et en changeant son emplacement + suppression de l'ancienne
        private void updatePiece(string nouveauEmplacement, int pieceIndex)
        {
            // on récupère le chemin ou on va pouvoir stocker l'image
            string imageFolderName = ClassGlobal.PiecesSaveFolder + "\\" + currentClientId + "_";// +NomTextBox.Text;
            // on récupère le nom de l'image
            string imageFileName = nouveauEmplacement.Remove(0, nouveauEmplacement.LastIndexOf('\\') + 1);
            // on copie l'image dans le répertoire de notre base de données
            string destinationFileName = imageFolderName + "\\" + DateTime.Now.ToString().Replace("/", "-").Replace(":", "-").Replace(" ", "_") + "_" + imageFileName;

            File.Copy(nouveauEmplacement, ClassGlobal.AppPath + "\\" + destinationFileName, true);
            // suppression de l'ancienne image de notre base de données
            string oldImage = ClassGlobal.AppPath + "\\" + ClassGlobal.ds.Tables["Pieces"].Rows[pieceIndex]["emplacement"].ToString();

            if (File.Exists(oldImage))
            {
                File.Delete(oldImage);
            }
            // on modifie l'emplacement de la pièce et on applique les changements à la Table Pieces
            ClassGlobal.ds.Tables["Pieces"].Rows[pieceIndex]["emplacement"] = destinationFileName;
            ClassGlobal.appliquerChangement(ClassGlobal.daPieces, "Pieces");
        }
예제 #9
0
 // event. Click sur le boutton 'AjouterBtn'
 private void AjouterBtn_Click(object sender, EventArgs e)
 {
     try
     {
         // si la description est vide
         if (DescriptionTextBox.Text.Length == 0)
         {
             MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Description_Obligatoire", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
             DescriptionTextBox.Focus();
         }
         // si nn si travail en double
         else if (checkDoubleTravailDescription(DescriptionTextBox.Text))
         {
             MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Description_Double", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
             DescriptionTextBox.SelectAll(); // on séléctionne la description au cas l'utilisateur veut bien la supprimer
             DescriptionTextBox.Focus();
         }
         else // si nn, c'est bon
         {
             // ajout du travail
             ClassGlobal.ds.Tables["Travail"].Rows.Add(null, DescriptionTextBox.Text);
             ClassGlobal.appliquerChangement(ClassGlobal.daTravail, "Travail");
             if (showConfirmationMsg)
             {
                 MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Travail_Ajouté", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
             }
             // mise à jour de la dataTable Travail (pour avoir les bon ids)
             ClassGlobal.getTravail();
             // fermeture de la fenêtre
             this.Close();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
     }
 }
예제 #10
0
 // event. Click du boutton 'AjouterClientBtn'
 private void AjouterClientBtn_Click(object sender, EventArgs e)
 {
     try
     {
         // si le nom est vide
         if (NomTextBox.Text.Length == 0)
         {
             MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Nom_Obligatoire", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
             NomTextBox.Focus();
         }
         // si nn si nom en double
         else if (checkDoubleClientName(NomTextBox.Text))
         {
             MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Nom_Double", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
             //NomTextBox.Text = ""; // on vide le textbox du nom
             NomTextBox.SelectAll(); // on séléctionne le nom au cas l'utilisateur veut bien le supprimer
             NomTextBox.Focus();
         }
         // si nn si aucun travail existant
         else if (TravailCombo.Items.Count == 0)
         {
             NouveauTravailBtn_Click(sender, e);
         }
         // si nn, c'est bon
         else
         {
             // ajout du client
             string dateNaissance = null;
             if (DateNaissMaskedTextBox.MaskCompleted)
             {
                 dateNaissance = DateNaissMaskedTextBox.Text;
             }
             ClassGlobal.ds.Tables["Client"].Rows.Add(null, NomTextBox.Text, HommeFemmeCombo.Text, TravailCombo.SelectedValue, dateNaissance, NumTelMaskedTextBox.Text.Replace(" ", string.Empty), EmailTextBox.Text, DateTime.Now.ToString());
             ClassGlobal.appliquerChangement(ClassGlobal.daClient, "Client");
             // mise à jour de la dataTable Client (pour avoir les bon ids)
             ClassGlobal.getClient();
             // on récupère l'id du client
             int clientId = getClientIdByName(NomTextBox.Text);
             // on récupère le chemin ou on va pouvoir stocker l'image
             string imageFolderName = ClassGlobal.PiecesSaveFolder + "\\" + clientId + "_";// +NomTextBox.Text;
             // on crée le dossier qui contienra les pieces du client (dont l'image) s'il n'exsite pas
             if (!Directory.Exists(ClassGlobal.AppPath + "\\" + imageFolderName))
             {
                 Directory.CreateDirectory(ClassGlobal.AppPath + "\\" + imageFolderName);
             }
             // ajout de la photo (si choisi)
             if (isImageChoosed)
             {
                 // on récupère le nom de l'image
                 string imageFileName = pictureBox1.ImageLocation.Remove(0, pictureBox1.ImageLocation.LastIndexOf('\\') + 1);
                 // on copie l'image dans le répertoire de notre base de données
                 string destinationFileName = imageFolderName + "\\" + DateTime.Now.ToString().Replace("/", "-").Replace(":", "-").Replace(" ", "_") + "_" + imageFileName;
                 File.Copy(pictureBox1.ImageLocation, ClassGlobal.AppPath + "\\" + destinationFileName, true);
                 // on ajoute la photo en tant que Piece ('Photo')
                 ClassGlobal.ds.Tables["Pieces"].Rows.Add(null, clientId, destinationFileName, "Photo");
                 ClassGlobal.appliquerChangement(ClassGlobal.daPieces, "Pieces");
                 // mise à jour de la dataTable Pieces (pour avoir les bon ids, afin de pouvoir modifier la photo après)
                 ClassGlobal.getPieces();
             }
             MessageBox.Show(ClassGlobal.resManager.GetString("MessageBox_Client_Ajouté", ClassGlobal.cul), ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
             // fermeture de la fenêtre
             this.Close();
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, ClassGlobal.AppName, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, ClassGlobal.msgBoxOptions);
     }
 }