예제 #1
0
        // envoyer une invitation ou demande adhesion
        public static int AddAdhesion(Adhesion adhesion, string courriel, string passWord)
        {
            if (!checkPassWord(courriel, passWord))
            {
                return(-5);
            }
            String ID = null;

            ID = getID(adhesion.userName);
            if (ID == null)
            {
                return(-2);
            }
            if (!checkGroupe(adhesion.nomGroupe))
            {
                return(-3);
            }
            // verification non exestance
            int dbStatus = checkAdhesion(ID, adhesion.nomGroupe);

            if (dbStatus != 0)
            {
                return(-4);
            }
            if (adhesion.status != 1 && adhesion.status != 4)
            {
                return(-6);
            }
            //  if (adhesion.status == 4) ID = getAdmin(courriel, passWord);  //added

            /*
             * desc.Champ Status
             * 1 : Inviter
             * 4 : Demander
             */

            // seul un admin peut envoyer une invitation


            //  if ((adhesion.status == 1) && (getAdmin(courriel, passWord) == getAdmin(adhesion.nomGroupe))) return -7;
            try
            {
                MySqlConnection cnx = new MySqlConnection();
                cnx.ConnectionString = "Server=127.0.0.1;Uid=root;Pwd=root;Database=groupesbd;";
                cnx.Open();
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandText = "insert into adhesion values (@id,@nomGroupe, @status) ";
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.AddWithValue("id", ID);
                cmd.Parameters.AddWithValue("nomGroupe", adhesion.nomGroupe);
                cmd.Parameters.AddWithValue("status", adhesion.status);
                cmd.Connection = cnx;
                cmd.ExecuteNonQuery();
                cnx.Close();
            }
            catch (Exception ex)
            {
                dbStatus = -1;
            }
            return(dbStatus);
        }
예제 #2
0
        // accepter ou refuser une demande d'adhesion, et se desabonner d'un groupe
        internal static int UpdateAdhesion(Adhesion adhesion, string courriel, string passWord)
        {
            if (!checkPassWord(courriel, passWord))
            {
                return(-5);
            }
            String ID = null;

            ID = getID(adhesion.userName);
            if (ID == null)
            {
                return(-2);
            }
            if (!checkGroupe(adhesion.nomGroupe))
            {
                return(-3);
            }
            // verification exestance
            int dbStatus = checkAdhesion(ID, adhesion.nomGroupe);

            if (dbStatus == 0)
            {
                return(-4);
            }
            if (
                !(
                    (adhesion.status == 2 && dbStatus == 4) || // accepter une demande
                    (adhesion.status == 3 && dbStatus == 4) || // refuser une demande
                    (adhesion.status == 5 && dbStatus == 2) // se desabonner d'un groupe
                    )
                )
            {
                return(-6);
            }

            /*
             * desc.Champ Status
             * 2 : Accepter
             * 3 : Refuser
             * 5 : se désabonner
             */
            // seul un admin peut accepter ou refuser une adhesion
            if (!((adhesion.status == 2 || adhesion.status == 3) && (getAdmin(courriel, passWord) == getAdmin(adhesion.nomGroupe))))
            {
                return(-7);
            }


            try
            {
                MySqlConnection cnx = new MySqlConnection();
                cnx.ConnectionString = "Server=127.0.0.1;Uid=root;Pwd=root;Database=groupesbd;";
                cnx.Open();
                MySqlCommand cmd = new MySqlCommand();
                cmd.CommandText = "UPDATE adhesion set status=@status  WHERE ID=@id AND nomGroupe= @nomGroupe";
                cmd.Parameters.AddWithValue("id", ID);
                cmd.Parameters.AddWithValue("nomGroupe", adhesion.nomGroupe);
                cmd.Parameters.AddWithValue("status", adhesion.status);
                cmd.Connection = cnx;
                MySqlDataReader dr = cmd.ExecuteReader();
                cnx.Close();
                return(1);
            }
            catch (Exception ex)
            {
                return(-1);
            }
        }
예제 #3
0
 public int UpdateAdhesion(Adhesion adhesion, string courriel, string passWord)
 {
     return(GroupesDataProvider.UpdateAdhesion(adhesion, courriel, passWord));
 }