//***************************************************************************************************************************************// // Une methode pour Ajouter la liste de batch à la table des demandes public void ajouter_liste(SqlDataReader liste, String typeprime, string datedem, int codeuser, int codepv) { //connecter la base de données SqlConnection con = new SqlConnection(WorkSpace.conString); SqlCommand cmd; SqlDataReader read; DemandePrime dem = new DemandePrime(); //compter le nombre de demande dans la table des demandes string key = "0"; if (WorkSpace.GetterLastKey() != "") { key = ((Int32.Parse(WorkSpace.GetterLastKey()) / 100)).ToString() + Int32.Parse(DateTime.Today.ToString("yy")); if (key.Length == 3) { key = "00" + key; } else if (key.Length == 4) { key = "0" + key; } } else { key = "0"; } int cle = int.Parse(key) / 100 * 100 + int.Parse(DateTime.Today.ToString("yy")); //Tirer la prime de la table des type de prime pour avoir son code et sa valeur //****************************************// con.Open(); cmd = new SqlCommand("SELECT * FROM TypePrime WHERE DésignationPrime= '" + typeprime + "'", con); read = cmd.ExecuteReader(); read.Read(); int code = (int)read[0]; float montant = Convert.ToSingle(read[2]); con.Close(); //commancer a ajouter les demandes dans la table des demandes con.Open(); //************************************// while (liste.Read()) { try { cle += 100; int jour = int.Parse(datedem.Substring(0, 2)); int mois = int.Parse(datedem.Substring(3, 2)); int an = int.Parse(datedem.Substring(6, 4)); string requete = "INSERT INTO DemandePrime (NumDem, DateDem, Matricule, CodePrime, MontantDem, CompteDem,DateEven,EtatDem,MotifEtat,pv_codepv,DateCreatDem,CodeUser) VALUES (" + cle + ", '" + an + "-" + mois + "-" + jour + "', '" + Convert.ToString(liste[0]) + "'," + code + "," + montant + ", '" + Convert.ToString(liste[6]) + "', '" + an + "-" + mois + "-" + jour + "', 'A', null ," + codepv + ", '" + an + "-" + mois + "-" + jour + "', " + codeuser + ")"; cmd = new SqlCommand(requete, con); cmd.ExecuteNonQuery(); WorkSpace.lastKey = cle.ToString(); } catch (SqlException ex) { MessageBox.Show(ex.Message); } } con.Close(); }
// cette methode concerne une demande effectuer par un seul fonctionnaire //elle verifie si les conditions sont vérifier et ajoute une demande dqans la table des demandes public void acc_ref_demandes(int matricule, DateTime date_event, String designation, int codeuser, int codepv, DateTime datedem, DateTime datecreadem) { //se connecter à la base de données SqlConnection con = new SqlConnection(WorkSpace.conString); con.Open(); //vérifier si le fonctionnaire existe dans la base de données SqlCommand cmd = new SqlCommand("SELECT * FROM Fonctionnaire WHERE Matricule='" + matricule + "' ", con); SqlDataReader read = cmd.ExecuteReader(); con.Close(); if (read.Read()) //si le fonctionnaire existe { DateTime date = Convert.ToDateTime(read[3]); if (date.Date > date_event.Date) //vérifier si le fonctiooanire est recruter avant l'événement { MessageBox.Show("Vous etes recrutez apres cette evenement"); } else//s'il la condition est vérifiée { con.Open(); int year = Convert.ToDateTime(date_event).Year; int mois = Convert.ToDateTime(date_event).Month; int jour = Convert.ToDateTime(date_event).Day; //verifier si la demande a ete faite avant cmd = new SqlCommand("SELECT * FROM WHERE Matricule=" + matricule + "AND DATEDIFF(DAY,'" + year + "-" + mois + "-" + jour + "',DateEven)=0 ", con); read = cmd.ExecuteReader(); con.Close(); if (read.Read()) //si elle est faite on doit la mentionner { string etat = Convert.ToString(read[7]); MessageBox.Show("vous avez depose la demande et votre etat etait:" + etat); } else //si la demande n'existe pas on va l'ajouter { DemandePrime dem = new DemandePrime(); //compter le nombre de demandes con.Open(); cmd = new SqlCommand("SELECT * FROM DemandePrime ", con); read = cmd.ExecuteReader(); int cpt = 1; while (read.Read()) { cpt++; } con.Close(); //avoir le montant de la prime et le code de la prime con.Open(); cmd = new SqlCommand("SELECT * FROM TypePrime WHERE DésignationPrime= " + designation + "", con); read = cmd.ExecuteReader(); read.Read(); //Avoir les informations du fonctionnaire cmd = new SqlCommand("SELECT * FROM Fonctionnaire WHERE Matricule = " + matricule + "", con); SqlDataReader read1 = cmd.ExecuteReader(); read1.Read(); // Avoir le code de l'utilisateur (c'est un parametre d'entrée) //On ajoute la demande dans la table des dem.Add_DemandePrime(cpt, datedem, matricule, Convert.ToInt32(read[0]), Convert.ToSingle(read[2]), Convert.ToString(read1[6]), date_event, "N", null, codepv, datecreadem, codeuser); } } } else // si le fonctionnaire existe on doit montionner ça { MessageBox.Show("Le fonctionnaire n'existe pas"); } con.Close(); // fermer la base de données }