public RecivedFiles(string nomfile, string comment, string nomCreateur, string daterecep, ConfidentialiteFichier conf)
 {
     this.nom         = nomfile;
     this.comment     = comment;
     this.nomCreateur = nomCreateur;
     dateRecept       = DateTime.ParseExact(daterecep, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
     this.confidance  = conf;
     this.Image       = "Resources/pdf_256.png";
 }
        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>()); }
        }
 public RecivedFiles(string nomfile, string pathofsave, string comment, string nomCreateur, string daterecep, ConfidentialiteFichier conf)
 {
     this.nom         = nomfile;
     this.comment     = comment;
     this.nomCreateur = nomCreateur;
     this.PathOfSave  = pathofsave;
     dateRecept       = DateTime.ParseExact(daterecep, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
     this.confidance  = conf;
 }