public void initField() { loadDataTable(); initDepot(); String lastPieceNum = lite.getLastLigneMvtPiece(typePiece); numDoc.Text = buildPiece(lastPieceNum); }
private void enregistrer_Click(object sender, EventArgs e) { Double quantite; if (materiaux.Text == "" || qtehs.Text == "") { MessageBox.Show("Tous les champs sont obligatoire", "Champs incorrects", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } try { quantite = double.Parse(qtehs.Text.Replace(",", ".")); if (quantite <= 0) { MessageBox.Show("Quantite saisie non valide,une quantite positive est attendue", "Quantite incorrect", MessageBoxButtons.OK, MessageBoxIcon.Error); ActiveControl = qtehs; return; } } catch (Exception ex) { MessageBox.Show("Quantite saisie non valide", "Quantite incorrect", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } ActiveControl = enregistrer; int refmat = int.Parse(listMateriaux.Rows[materiaux.SelectedIndex][0].ToString()); String[] info = getQuantiteMateriel(refmat); Double stockreel, stockhs, nouveaustockreel; String msg, piecehs, piece, date, motif; if (info == null) { msg = @" Cet Materiau n'a jamais fait l'ojet d'un mouvement d'entree en stock. Il est fortement conseille de commencer par un mouvement d'entree pour ce materiau. "; MessageBox.Show(msg, "Gestion de stock", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else { traitement.setType(2);//mouvement d'entree stockreel = Double.Parse(info[0]); stockhs = double.Parse(info[1]); piecehs = lite.getLastLigneMvtPieceHS(2); piecehs = traitement.buildPieceHS(piecehs); traitement.setType(1);//mouvement de sortie piece = lite.getLastLigneMvtPiece(1); piece = traitement.buildPiece(piece); date = DateTime.Now.Date.ToString("yyyy-MM-dd"); if (quantite > stockhs) { msg = @" L'etat du stock ne permet pas cette action. la quantite entree est superieure au stock HS du materiau "; MessageBox.Show(msg, "Quantite incorrecte", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { // determiner la nouvelle valeur du stock et generer deux documents: entree et sortie nouveaustockreel = stockreel + quantite; double min = Math.Round(nouveaustockreel / 3); //stock minimum //mise a jour du stock traitement.updateStock(refmat, nouveaustockreel, stockhs - quantite, min); //sortie en stock motif = string.Format("inv.au {0} sortie quantite hors service", date); traitement.ligneMouvInsertion(quantite, 2, date, piecehs, motif.ToUpper(), refmat, de_no); //entree en stock HS motif = string.Format("inv.au {0} entree quantite stock provenant de la sortie HS", date); traitement.ligneMouvInsertion(quantite, 1, date, piece, motif.ToUpper(), refmat, de_no); //reinitialiser l'interface materiaux.SelectedIndex = 0; qtehs.Text = ""; } } }