Beispiel #1
0
        //***************************************************************************************************************************************//

        // 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();
        }
Beispiel #2
0
        // 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
        }