Ejemplo n.º 1
0
 public bool isAut(string pathFile)
 {
     try
     {
         LastUserConnection usr  = new LastUserConnection();
         string             req1 = "select * from Conf1 where nomutilisateur='" + usr.getNomUtil() + "' and path=" + pathFile;
         string             req2 = "select * from Conf2 where idGroup IN (select idGroup from Appartient where nomutilisateur='" + usr.getNomUtil() + "' and path=" + pathFile + ")";
         return(nombreSelectionner(req1) > 0 || nombreSelectionner(req2) > 0);
     }
     catch { return(false); }
 }
        public static List <RecivedFiles> getReciveFileFromDB()
        {
            ConnectionDB conn = ConnectionDB.getInstanceForSync();

            try
            {
                LastUserConnection usr        = new LastUserConnection();
                string             listFiles  = "select nomfile from Conf1 where nomutilisateur='" + usr.getNomUtil() + "' and nomfile NOT IN(select nomfile from Fichier where nomcreator='" + usr.getNomUtil() + "')";
                string             listGroups = "select nomfile from Conf2 where nomGroup IN (select nomGroup from Appartient where nomutilisateur='" + usr.getNomUtil() + "') and nomfile NOT IN(select nomfile from Fichier where nomcreator='" + usr.getNomUtil() + "')";

                List <RecivedFiles> lrf = new List <RecivedFiles>();
                foreach (DataRow drf in conn.selectionner(listFiles).Tables[0].Rows)
                {
                    List <Utilisateur> luf = new List <Utilisateur>();
                    string             listUtilisateursOfFile = "select Distinct(nomutilisateur) from Conf1 where nomfile='" + drf[0].ToString() + "'";
                    foreach (DataRow dru in conn.selectionner(listUtilisateursOfFile).Tables[0].Rows)
                    {
                        string req = "select * from Utilisateur where nomutilisateur='" + dru[0].ToString() + "'";
                        luf.Add(new Utilisateur(conn.selectionner(req).Tables[0].Rows[0][0].ToString(), conn.selectionner(req).Tables[0].Rows[0][1].ToString(), conn.selectionner(req).Tables[0].Rows[0][2].ToString()));
                    }

                    List <Groupe> lgf = new List <Groupe>();
                    string        listGroupsOfFile = "select Distinct(nomGroup) from Conf2 where nomfile='" + drf[0].ToString() + "'";
                    foreach (DataRow drg in conn.selectionner(listGroupsOfFile).Tables[0].Rows)
                    {
                        string             req         = "select * from Groupe where nomGroup='" + drg[0].ToString() + "'";
                        string             listMembres = "select nomutilisateur from Appartient where nomGroup='" + drg[0].ToString() + "'";
                        List <Utilisateur> membres     = new List <Utilisateur>();
                        foreach (DataRow drmg in conn.selectionner(listMembres).Tables[0].Rows)
                        {
                            string req1 = "select * from Utilisateur where nomutilisateur='" + drmg[0] + "'";
                            membres.Add(new Utilisateur(conn.selectionner(req1).Tables[0].Rows[0][0].ToString(), conn.selectionner(req1).Tables[0].Rows[0][1].ToString(), conn.selectionner(req1).Tables[0].Rows[0][2].ToString()));
                        }
                        lgf.Add(new Groupe(drg[0].ToString(), membres));
                    }
                    ConfidentialiteFichier conf = new ConfidentialiteFichier(luf, lgf);
                    string files = "select * from fichier where nomFile='" + drf[0].ToString() + "'";
                    lrf.Add(new RecivedFiles(conn.selectionner(files).Tables[0].Rows[0][0].ToString(), conn.selectionner(files).Tables[0].Rows[0][1].ToString(), conn.selectionner(files).Tables[0].Rows[0][2].ToString(), conn.selectionner(files).Tables[0].Rows[0][3].ToString(), conf));
                }

                foreach (DataRow drf in conn.selectionner(listGroups).Tables[0].Rows)
                {
                    List <Utilisateur> luf = new List <Utilisateur>();
                    string             listUtilisateursOfFile = "select Distinct(nomutilisateur) from Conf1 where nomfile='" + drf[0].ToString() + "'";
                    foreach (DataRow dru in conn.selectionner(listUtilisateursOfFile).Tables[0].Rows)
                    {
                        string req = "select * from Utilisateur where nomutilisateur='" + dru[0].ToString() + "'";
                        luf.Add(new Utilisateur(conn.selectionner(req).Tables[0].Rows[0][0].ToString(), conn.selectionner(req).Tables[0].Rows[0][1].ToString(), conn.selectionner(req).Tables[0].Rows[0][2].ToString()));
                    }

                    List <Groupe> lgf = new List <Groupe>();
                    string        listGroupsOfFile = "select Distinct(nomGroup) from Conf2 where nomfile='" + drf[0].ToString() + "'";
                    foreach (DataRow drg in conn.selectionner(listGroupsOfFile).Tables[0].Rows)
                    {
                        string             req         = "select * from Groupe where nomGroup='" + drg[0].ToString() + "'";
                        string             listMembres = "select nomutilisateur from Appartient where nomGroup='" + drg[0].ToString() + "'";
                        List <Utilisateur> membres     = new List <Utilisateur>();
                        foreach (DataRow drmg in conn.selectionner(listMembres).Tables[0].Rows)
                        {
                            string req1 = "select * from Utilisateur where nomutilisateur='" + drmg[0] + "'";
                            membres.Add(new Utilisateur(conn.selectionner(req1).Tables[0].Rows[0][0].ToString(), conn.selectionner(req1).Tables[0].Rows[0][1].ToString(), conn.selectionner(req1).Tables[0].Rows[0][2].ToString()));
                        }
                        lgf.Add(new Groupe(drg[0].ToString(), membres));
                    }
                    ConfidentialiteFichier conf = new ConfidentialiteFichier(luf, lgf);
                    string files = "select * from fichier where nomFile='" + drf[0].ToString() + "'";
                    lrf.Add(new RecivedFiles(conn.selectionner(files).Tables[0].Rows[0][0].ToString(), conn.selectionner(files).Tables[0].Rows[0][1].ToString(), conn.selectionner(files).Tables[0].Rows[0][2].ToString(), conn.selectionner(files).Tables[0].Rows[0][3].ToString(), conf));
                }
                return(lrf);
            }
            catch { return(new List <RecivedFiles>()); }
        }