예제 #1
0
        //ajout de l'avatar
        public async Task <HttpResponseMessage> PostFichier()
        {
            Utilisateur user = UserHelper.getUser(User, db);

            string dataDirectory = "Images/";

            if (!Request.Content.IsMimeMultipartContent())
            {
                throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
            }

            string root     = HttpContext.Current.Server.MapPath("~/" + dataDirectory);
            var    provider = new MultipartFormDataStreamProvider(root);

            HttpResponseMessage ret = new HttpResponseMessage(HttpStatusCode.Created);

            try
            {
                // Read the form data.
                await Request.Content.ReadAsMultipartAsync(provider);

                if (provider.FileData.Count == 1)
                {
                    MultipartFileData file  = provider.FileData.First();
                    string            type  = file.Headers.ContentDisposition.Name;
                    string            type2 = type.TrimStart('"');
                    string[]          type3 = type2.Split('_');

                    string  localName = file.LocalFileName.Substring(file.LocalFileName.LastIndexOf("\\") + 1);
                    string  url       = Request.RequestUri.AbsoluteUri;
                    Fichier fichier   = new Fichier()
                    {
                        Titre         = file.Headers.ContentDisposition.FileName,
                        Chemin        = file.LocalFileName,
                        FichierTypeId = Int32.Parse(type3[0]),
                        contentType   = file.Headers.ContentType.ToString(),
                        url           = ""
                    };
                    //Trace.WriteLine(file.Headers.ContentDisposition.FileName);
                    //Trace.WriteLine("Server file path: " + file.LocalFileName);
                    user.Fichier = fichier;
                    await db.SaveChangesAsync();

                    fichier.url = url.Substring(0, url.IndexOf("api")) + "api/fichiers/" + fichier.Id;
                    await db.SaveChangesAsync();

                    return(ret);
                }
                else
                {
                    throw new HttpResponseException(HttpStatusCode.BadRequest);
                }
            }
            catch (Exception e)
            {
                HttpResponseMessage err = new HttpResponseMessage(HttpStatusCode.InternalServerError);
                err.Content = new StringContent(e.ToString());
                return(err);
            }
        }
예제 #2
0
        public bool appartenanceUF(Utilisateur u, Fichier f)
        {
            using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(ConnectionHelper.conVal("CalendrierDatabase")))
            {
                try
                {
                    int app = connection.QuerySingle <Int32>($"Select f.IdFichier " +
                                                             $"From Fichier f,GestionFichier gf,Utilisateur u" +
                                                             $" Where f.IdFichier=gf.IdFichier AND u.IdUtilisateur=gf.IdUtilisateur AND gf.IdUtilisateur='{u.idUtilisateur}' AND gf.idFichier='{f.idFichier}';");
                    if (app > 0)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                catch (Exception)
                {
                    return(false);

                    throw;
                }
            }
        }
예제 #3
0
        // PUT api/Fichier/5
        public async Task <IHttpActionResult> PutFichier(int id, Fichier fichier)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != fichier.Id)
            {
                return(BadRequest());
            }

            db.Entry(fichier).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!FichierExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
예제 #4
0
        public async void ChargerAsync(string pFichierNom)
        {
            _FicSauvegarde = new Fichier(_DossierFichiers.Documents, pFichierNom);

            // Vérifie si le fichier de sauvegarde existe
            if (!_FicSauvegarde.Existe())
            {
                throw new Exception("Fichier inexistant.");
            }

            _FicSauvegarde.OuvrirAsync(Fichier.EModeOuverture.Lecture);

            bool estLigne1 = true;
            int  coucheId  = 0;

            while (!_FicSauvegarde.Fin)
            {
                string ligne = await _FicSauvegarde.LireLigneAsync();

                if (estLigne1)
                {
                    LireLigne1(ligne);
                    estLigne1 = false;
                }
                else
                {
                    await LireLignesCouchesAsync(ligne, coucheId);

                    coucheId += 1;
                }
            }

            _FicSauvegarde.FermerAsync();
        }
        public void  ajouterNotificationPour(Fichier f)
        {
            int          joursRest = f.dateSuppression.Subtract(f.dateAjout).Days;
            Notification notif     = new Notification();

            f.type = new ActionsType().getTypeById(f.idType);
            notif.dateNotification = f.dateAjout;
            notif.idFichier        = f.idFichier;
            notif.textNotification = "La " + f.type.action + " du fichier " + f.Nom + " est après " + joursRest + " jours";
            notif.Vu = 0;
            int idNotif = ajouterNotification(notif);

            notif.idNotification = idNotif;
            List <Utilisateur> users = new ActionsUtilisateur().listerTousUtilisateur();//on teste si ce fichier appartient a un utilisateur

            //on teste pour envoyer la notification a cet utilisateur.
            foreach (var u in users)
            {
                if (new ActionsFichier().appartenanceUF(u, f))
                {
                    new ActionsNotification().ajouterNotifAvecUser(u, notif);//cette methode ajoute une notification
                    //pour q'elle soit visible pour l'utilisateur
                }
            }
        }
예제 #6
0
        public async Task Upload(byte[] fileBytes, string nom, int groupeID, int id)
        {
            Fichier f = new Fichier();

            f.nom          = nom;
            f.id_groupe_fk = groupeID;
            f.id_fichier   = id;

            string jsonFichier = JsonConvert.SerializeObject(f);
            var    buffer      = System.Text.Encoding.UTF8.GetBytes(jsonFichier);

            MultipartFormDataContent form = new MultipartFormDataContent
            {
                { new ByteArrayContent(buffer), "file" },
                { new ByteArrayContent(fileBytes), "fileRaw", f.nom }
            };
            HttpResponseMessage response = null;

            try
            {
                using (HttpClient client = new HttpClient())
                {
                    response = await client.PostAsync(BaseAddress + "api/fichier/upload/", form);
                }
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine(ex.Message);
            }
            response?.Dispose();
        }
예제 #7
0
        public void commencerLesortFinal(Fichier f)
        {
            Fichier f2 = getFichierById(f.idFichier);

            f = f2;

            if (f.HangFireNotificationID != null)
            {
                RecurringJob.RemoveIfExists(f.HangFireRecJobNotID);
                BackgroundJob.Delete(f.HangFireNotificationID);
                BackgroundJob.Delete(f.HangFireID);

                f.HangFireNotificationID = 0 + "";
                f.HangFireRecJobNotID    = 0 + "";
            }
            f.sortFinalComm = 1;
            fichierDAOSQLServer.modifierFichier(f);
            new ActionsNotification().supprimerNotDuFichier(f);
            Historique h = new Historique();

            h.textHistorique = "L archive " + f.Nom + " a étè conserve definitivement";
            h.IdFichier      = f.idFichier;
            h.date           = DateTime.Now;
            new ActionsHistorique().ajouterHistorique(h);
        }
예제 #8
0
        public static String ArchiveRetentioneGenerateur(Fichier f)
        {
            String desc = HttpUtility.HtmlDecode(f.Description);
            String s    = " <span class=\"closeBtnAjout\">&times;</span>\r\n" +
                          "                <div class=\"titreArchive\">\r\n" +
                          "                    <h1><label>Archive:</label ><label class=\"arch\">" + f.Nom + "</label></h1>\r\n" +
                          "                </div>\r\n" +
                          "                <div class=\"pdfViewC\" id=\"pdfViewContaint\">\r\n" +
                          "                    hna diri duv haywa hhhhhhhhhhhh\r\n" +
                          "                </div>\r\n" +
                          "                <div class=\"infosArchives\">\r\n" +
                          "                    <label class=\"infos\">Ajoute le:</label><br>\r\n" +
                          "                    <label class=\"infos\">" + f.dateAjout.ToString("dd/MM/yyyy") + "</label><br>\r\n" +
                          "                    <label class=\"infos\">Date du sort final:</label><br>\r\n" +
                          "                    <label class=\"infos\">" + f.dateSuppression.ToString("dd / MM / yyyy") + "</label><br>\r\n" +
                          "                    <label class=\"infos\">Date de derniere modification</label><br>\r\n" +
                          "                    <label class=\"infos\">" + f.dateModification.ToString("dd/MM/yyyy") + "</label><br>\r\n" +
                          "                    <label class=\"infos\">Date de dernier acces a ce fichier:</label><br>\r\n" +
                          "                    <label class=\"infos\">" + f.dateDernierAcces.ToString("dd/MM/yyyy") + "</label><br>\r\n" +
                          "                    <label class=\"infos\">cet Archive est conserve depuis le" + f.dateSuppression.ToString("dd / MM / yyyy") + " </label><br>\r\n" +
                          "                    <label class=\"infos\"><h1 style='Color:green'><br/>Description de l'archive :</h1></label><br>\r\n" +
                          "                    <label class=\"infos\">" + desc + "</label><br>\r\n" +
                          "                    \r\n" +
                          "                </div>";

            return(s);
        }
예제 #9
0
        public static String ArchiveInfoGenerateur(Fichier f)
        {
            String desc          = HttpUtility.HtmlDecode(f.Description);
            int    joursRestants = f.dateSuppression.Subtract(f.dateAjout).Days;
            String s             = " <span onclick=\"closeArchiveModal()\" class=\"closeBtnAjout\">&times;</span>\r\n" +
                                   "                <div class=\"titreArchive\">\r\n" +
                                   "                    <h1><label>Archive:</label ><label class=\"arch\">" + f.Nom + "</label></h1>\r\n" +
                                   "                </div>\r\n" +
                                   "                <div class=\"infosArchives\">\r\n" +
                                   "                    <label class=\"infos\">Ajoute le:</label><br>\r\n" +
                                   "                    <label class=\"infos\">" + f.dateAjout.ToString("dd/MM/yyyy") + "</label><br>\r\n" +
                                   "                    <label class=\"infos\">Date du sort final:</label><br>\r\n" +
                                   "                    <label class=\"infos\">" + f.dateSuppression.ToString("dd / MM / yyyy") + "</label><br>\r\n" +
                                   "                    <label class=\"infos\">Date de derniere modification</label><br>\r\n" +
                                   "                    <label class=\"infos\">" + f.dateModification.ToString("dd/MM/yyyy") + "</label><br>\r\n" +
                                   "                    <label class=\"infos\">Date de dernier acces a ce fichier:</label><br>\r\n" +
                                   "                    <label class=\"infos\">" + f.dateDernierAcces.ToString("dd/MM/yyyy") + "</label><br>\r\n";

            if (f.commArch == 0)
            {
                s += "                     <input type=\"checkbox\" onclick=\"startCons(" + f.idFichier + ")\" name=\"conservCom\"><label class=\"infos\"> Commencer les regles de conservation pour cet archive</label><br>\r\n";
            }
            s += "                    <label class=\"infos\">Il reste" + joursRestants + " jours pour la " + f.type.action + " ce fichier définitivement</label><br>\r\n" +
                 "                    <label class=\"infos\"><h1 style='Color:green'>Description de l'archive :</h1></label><br>\r\n" +
                 "                    <label class=\"infos\">" + desc + "</label><br>\r\n" +
                 "                </div>";
            return(s);
        }
예제 #10
0
        /// <summary>
        /// Récupère les fichiers que l'on a partagé avec le compte connecté
        ///</summary>
        public List <Fichier> GetFilesShared()
        {
            List <Fichier> lstFiles;

            try
            {
                lstFiles = new List <Fichier>();
                var ListReceivedFiles = DBClient.Sharing.ListReceivedFilesAsync(100, null).Result.Entries;

                foreach (var metadata in ListReceivedFiles)
                {
                    var    type = Path.GetExtension(metadata.Name).Split('.')[1];
                    string IMG  = GetIcoByType(type);

                    Fichier f = new Fichier(string.Empty, metadata.Name, IMG, type, null, null, string.Empty, true);
                    f.PreviewUrl     = metadata.PreviewUrl;
                    f.DateInvitation = metadata.TimeInvited;
                    f.IdDropbox      = metadata.Id;

                    lstFiles.Add(f);
                }
                return(lstFiles);
            }
            catch (Exception)
            {
                return(lstFiles = new List <Fichier>());
            }
        }
예제 #11
0
        private void btn_ajouter_Click(object sender, EventArgs e)
        {
//B-4
            //	Créer un dossier (ou fichier) et ajouter le à la collections des dossiers du disq_c.
            //	Afficher le message d’exception au cas d’un espace insuffisant sur le disque.
            //	Ajouter le chemin du dossier (seulement les dossiers) au ComboBox cmb_dossiers

            Dossier d;

            if (Cb_fichier.Checked)
            {
                d = new Fichier(txt_nom.Text, Pb_icone.Image, disq_c.DossierParChemin(cmb_dossiers.Text), txt_extension.Text, long.Parse(txt_taille.Text));
            }
            else
            {
                d = new Dossier(txt_nom.Text, Pb_icone.Image, disq_c.DossierParChemin(cmb_dossiers.Text));
                cmb_dossiers.Items.Add(d.Chemin());
            }
            try
            {
                disq_c.AjouterDossier(d);
                ////
                ////
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Session["idUser"] == null && Session["privillege"] != "Admin")
     {
         Response.Redirect("./Authentification.aspx");
     }
     if (!IsPostBack)
     {
         ActionsFichier actionsFichier = new ActionsFichier();
         int            id             = 0;
         Int32.TryParse(Request.QueryString["idFichier"], out id);
         Fichier f = actionsFichier.getFichierById(id);
         TitreArch.Value               = f.Nom;
         EmpPc.Value                   = f.emplacementPC;
         index.Value                   = f.index;
         ArchiveUpload.Enabled         = false;
         textArea.InnerHtml            = f.Description;
         selectTypeAroo.DataSource     = new ActionsType().ListerTypes();
         selectTypeAroo.DataTextField  = "nomType";
         selectTypeAroo.DataValueField = "idType";
         selectTypeAroo.DataBind();
         selectTypeAroo.SelectedValue = f.idType + "";
         selectTypeAroo.Enabled       = false;
     }
 }
        private List <Fichier> GetFilesProject()
        {
            List <Fichier> lst = new List <Fichier>();

            if (SelectedFiles != null)
            {
                List <Fichier> lstdp = Singleton.GetInstance().GetListModelView().DgFiles_DP;

                foreach (var item in SelectedFiles)
                {
                    Fichier u = lstdp.Find(f => f.Nom == item);
                    if (u != null)
                    {
                        lst.Add(u);
                    }
                }

                List <Fichier> lstgg = Singleton.GetInstance().GetListModelView().DgFiles_GG;

                foreach (var item in SelectedFiles)
                {
                    Fichier u = lstgg.Find(f => f.Nom == item);
                    if (u != null)
                    {
                        lst.Add(u);
                    }
                }
            }
            return(lst);
        }
예제 #14
0
        public async void SaveAll()
        {
            if (SeriesSelected == null)
            {
                _dialogservice.ShowMessageOk("Echec", "Vous devez choisir la série de ce fichier pour pouvoir sauvegarder");
            }
            else
            {
                Fichier newfichier = new Fichier();
                newfichier.Collection = Collection;
                newfichier.Order      = Ordre;
                newfichier.Name       = Name;
                newfichier.Image      = Image;
                newfichier.ParentID   = SeriesSelected.Serie.ID;
                await _businessFichier.Create(newfichier);

                var fichier = await _businessFichier.GetFichierAsync(newfichier);

                var pages = Pages.ToList();
                pages.ForEach(x => x.Page.IDFichier = fichier.ID);
                foreach (PageViewModel page in pages)
                {
                    await _businessPage.Create(page.Page);
                }
                GalaSoft.MvvmLight.Messaging.Messenger.Default.Send(new NotificationMessage("Update"));
            }
        }
예제 #15
0
        public IHttpActionResult Create(DocumentFichierBindingModel model)
        {
            Fichier file = new Fichier()
            {
                NomFichier = model.Fichier.NomFichier,
                UrlFichier = model.Fichier.UrlFichier
            };

            AdbContext.Fichiers.Add(file);
            Document doc = new Document()
            {
                DocumentId        = file.FichierId,
                DateCreation      = DateTime.Now.ToString("dd-MM-yyyy"),
                ApplicationUserId = model.Document.ApplicationUserId,
                CreationUser      = model.Document.CreationUser,
                CurrentStat       = 0,
                Etat        = false,
                NomDocument = model.Document.NomDocument,
                Fichier     = file
            };

            AdbContext.Documents.Add(doc);
            AdbContext.SaveChanges();
            return(Ok());
        }
예제 #16
0
        /// <summary>
        /// exporte en format CSV les mots de passe d'un dossier et de ses sous dossiers
        /// </summary>
        /// <returns>Retourne la liste des erreurs</returns>
        public async Task <string> ExporterCsv()
        {
            var retour = Validate();

            if (string.IsNullOrWhiteSpace(retour))
            {
                if (!StringUtils.GetExtension(Fichier.Name).Equals(FormatChoisi.Format))
                {
                    await Fichier.RenameAsync(Fichier.Name + "." + FormatChoisi.Format);
                }

                var chaine = new StringBuilder();

                var listeMotDePasse = getAllMotDePasse(SelectedDossier);

                foreach (var mot in listeMotDePasse)
                {
                    chaine.Append(CsvCaractereFinChaine + mot.Titre + CsvCaractereFinChaine + CsvCaractereSeparateur);
                    chaine.Append(CsvCaractereFinChaine + mot.Login + CsvCaractereFinChaine + CsvCaractereSeparateur);
                    chaine.Append(CsvCaractereFinChaine + mot.MotDePasseObjet + CsvCaractereFinChaine + CsvCaractereSeparateur);
                    chaine.Append(CsvCaractereFinChaine + mot.Commentaire + CsvCaractereFinChaine + CsvCaractereSeparateur);
                    chaine.Append(CsvCaractereFinChaine + mot.SiteWeb + CsvCaractereFinChaine);
                    chaine.Append(CsvRetourLigne);
                }

                await FileIO.WriteTextAsync(Fichier, chaine.ToString(), Windows.Storage.Streams.UnicodeEncoding.Utf8);
            }
            return(retour);
        }
예제 #17
0
        /// <summary>
        /// Exporte le fichier chiffré directement
        /// </summary>
        /// <returns>la liste des erreurs</returns>
        public async Task <string> ExporterKwi()
        {
            var retour = Validate();

            if (string.IsNullOrWhiteSpace(retour))
            {
                if (!StringUtils.GetExtension(Fichier.Name).Equals(FormatChoisi.Format))
                {
                    await Fichier.RenameAsync(Fichier.Name + "." + FormatChoisi.Format);
                }

                var xs = new XmlSerializer(typeof(Dossier));
                using (var wr = new StringWriter())
                {
                    xs.Serialize(wr, SelectedDossier);
                    var dataToSave = CryptUtils.AesEncryptStringToByteArray(wr.ToString(), MdpCypher, MdpCypher);
                    await FileIO.WriteBytesAsync(Fichier, dataToSave);

                    //anciennement pour exporter tout le fichier
                    //await FileIO.WriteTextAsync(fichier, wr.ToString(), Windows.Storage.Streams.UnicodeEncoding.Utf8);
                }

                //await FileIO.WriteBytesAsync(fichier, await ContexteAppli.fichierPassword.lireByteArray());
            }
            return(retour);
        }
        // cas ou le sort final est la destruction selon la date de derniere modification
        public void ConservationSelonModification(Fichier f)
        {
            f.dateSuppression  = DateTime.Now.AddDays(f.type.duree);
            f.dateModification = DateTime.Now;
            int joursRest = f.type.duree;
            int jousRestPourNorification = joursRest - NotifComm;

            //on doit d'abord supprimer l'action de la modification avant celle ci si elle existe:
            if (f.HangFireID != "" && f.HangFireNotificationID != "" &&
                f.HangFireRecJobNotID != "" && f.HangFireRecJobNotID != null && f.HangFireID != null && f.HangFireNotificationID != null)
            {
                BackgroundJob.Delete(f.HangFireNotificationID);
                BackgroundJob.Delete(f.HangFireID);
                RecurringJob.RemoveIfExists(f.HangFireRecJobNotID);
            }
            if (f.HangFireID != "" && f.HangFireNotificationID != "" && f.HangFireID != null && f.HangFireNotificationID != null)
            {
                BackgroundJob.Delete(f.HangFireNotificationID);
                BackgroundJob.Delete(f.HangFireID);
            }
            f.HangFireRecJobNotID = "";
            var JobNotId = BackgroundJob.Schedule(
                () => actionsNotification.RefaireNotifChaqueJour(f),
                TimeSpan.FromDays(jousRestPourNorification));

            var jobID = BackgroundJob.Schedule(
                () => actionsFichier.commencerLesortFinal(f),
                TimeSpan.FromDays(joursRest));

            f.HangFireID             = jobID;
            f.HangFireNotificationID = JobNotId;
            actionsFichier.modifier(f);
        }
예제 #19
0
        /// <summary>
        /// lit le fichier , le déchiffre à partir du mot de passe fournit et le désérialize
        /// </summary>
        /// <param name="passwordTmp">le mot de passe pour tenter le déchiffrement</param>
        /// <param name="fullLoad">Indique si c'est un chargement complet ou légé</param>
        /// <returns>true si ok</returns>
        public static async Task <bool> Load(string passwordTmp, bool fullLoad)
        {
            try
            {
                //lecture
                var inFile = await Fichier.LireByteArray();

                //dechiffrement
                var xmlIn = CryptUtils.AesDecryptByteArrayToString(inFile, passwordTmp, passwordTmp);

                //deserialize
                var xsb = new XmlSerializer(typeof(Dossier));
                var rd  = new StringReader(xmlIn);
                ContexteAppli.DossierMere = xsb.Deserialize(rd) as Dossier;
                if (fullLoad)
                {
                    RemiseEnPlaceParent(ContexteAppli.DossierMere);
                    RemiseEnPlaceIcone(ContexteAppli.DossierMere);
                }
                Password = passwordTmp;

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
예제 #20
0
 private void supprimerToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (selected != null)
     {
         if (DialogResult.Yes == MessageBox.Show("voulez vous vraiment supprimer ce dossier de façon permanente", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
         {
             currentDir.supp(dossiers, selected.NomRep);
             selected = null;
             fillList(listEnt);
             fillTree();
         }
     }
     else
     {
         if (selectedf != null)
         {
             if (DialogResult.Yes == MessageBox.Show("voulez vous vraiment supprimer ce fichier de façon permanente", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
             {
                 currentDir.supp(fichiers, selectedf.NomFic);
                 selectedf = null;
                 fillList(listEnt);
             }
         }
     }
 }
        private void button1_Click(object sender, System.EventArgs e)
        {
            // Daten auslesen
            OpenFileDialog myWindow = new OpenFileDialog();

            myWindow.ShowDialog();
            StreamReader Fichier;

            try
            {
                Fichier             = File.OpenText(myWindow.FileName);
                name.Text           = Fichier.ReadLine();
                vorname.Text        = Fichier.ReadLine();
                alter.Text          = Fichier.ReadLine();
                adresse.Text        = Fichier.ReadLine();
                plz.Text            = Fichier.ReadLine();
                stadt.Text          = Fichier.ReadLine();
                tel_fixe.Text       = Fichier.ReadLine();
                tel_port.Text       = Fichier.ReadLine();
                fax.Text            = Fichier.ReadLine();
                email.Text          = Fichier.ReadLine();
                sexe.SelectedIndex  = System.Int32.Parse(Fichier.ReadLine());
                srcimg.Text         = Fichier.ReadLine();
                ziel.Text           = Fichier.ReadLine();
                comp_prof.Text      = Fichier.ReadLine().Replace("<BR>", "\n");
                ausbildung.Text     = Fichier.ReadLine().Replace("<BR>", "\n");
                centre_interet.Text = Fichier.ReadLine().Replace("<BR>", "\n");
                Fichier.Close();
            }
            catch (Exception E)
            {
                MessageBox.Show("Ein Fehler ist aufgetreten.\nDie Ausgewählten Datei ist nicht Korrekt");
                MessageBox.Show(E.Message);
            }
        }
예제 #22
0
        public int ajouterF(Fichier f)
        {
            typeDAOSQLServer    = TypeDAOSQLServer.getInstance();
            fichierDAOSQLServer = FichierDAOSQLServer.getInstance();
            int id = fichierDAOSQLServer.ajouterFichier(f);

            if (f.commArch == 1)
            {
                f.idFichier = id;
                if (f.type.DUAselon == "DateAjout")
                {
                    f.dateSuppression = f.dateAjout.AddDays(f.type.duree);
                    modifier(f);
                    if (f.type.action == "Destruction")
                    {
                        hangFireUtil.DestructionSelonAjout(f);
                    }
                    else if (f.type.action == "Conservation")
                    {
                        hangFireUtil.ConservationSelonAjout(f);
                    }
                }
            }
            return(id);
        }
예제 #23
0
        // Delete api/fichier/deletefile
        public bool DeleteFile(Fichier f)
        {
            API api = new API();

            if (api.DeleteFile(f))
            {
                string pathString = Path.GetDirectoryName(Application.ExecutablePath);
                pathString = Path.Combine(pathString, "groupfiles");
                pathString = Path.Combine(pathString, f.id_groupe_fk.ToString());
                pathString = Path.Combine(pathString, f.nom);
                if (System.IO.File.Exists(pathString))
                {
                    try
                    {
                        System.IO.File.Delete(pathString);
                    }
                    catch (System.IO.IOException e)
                    {
                        Console.Error.WriteLine(e.Message);
                    }
                }
                return(true);
            }
            return(false);
        }
예제 #24
0
        // GET api/fichier/download?id_fichier=
        public HttpResponseMessage Download([FromUri] int id_fichier)
        {
            Fichier f = GetFile(id_fichier);

            byte[] readBuffer = { };
            HttpResponseMessage result;

            try
            {
                string pathString = Path.GetDirectoryName(Application.ExecutablePath);
                pathString = Path.Combine(pathString, "groupfiles");
                pathString = Path.Combine(pathString, f.id_groupe_fk.ToString());
                pathString = Path.Combine(pathString, f.nom);
                readBuffer = System.IO.File.ReadAllBytes(pathString);

                result         = Request.CreateResponse(HttpStatusCode.OK);
                result.Content = new ByteArrayContent(readBuffer);
                result.Content.Headers.ContentDisposition          = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
                result.Content.Headers.ContentDisposition.FileName = f.nom;
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine(ex.Message);
                result = Request.CreateResponse(HttpStatusCode.NotFound);
            }
            return(result);
        }
        public void SaveFile(System.String fileway)
        {
            StreamWriter Fichier;                      // Deklaration des Objektes

            Fichier = File.CreateText(fileway);        // Erstellen der Datei
            //-------------------------------------------------
            Fichier.WriteLine(_Name);                  // Name
            Fichier.WriteLine(_Vorname);               // Vorname
            Fichier.WriteLine(_Alter);                 // Alter
            Fichier.WriteLine(_Adresse);               // Adresse
            Fichier.WriteLine(_Plz);                   // Plz
            Fichier.WriteLine(_Stadt);                 // Stadt
            Fichier.WriteLine(_Num_fix);               // Téléphone Fixe
            Fichier.WriteLine(_Num_port);              // Téléphone Mobile
            Fichier.WriteLine(_Num_fax);               // Fax
            Fichier.WriteLine(_Email);                 // E-Mail
            Fichier.WriteLine(_Geschlecht.ToString()); // Geschlecht
            Fichier.WriteLine(_Photo);                 // Photo
            //-------------------------------------------------
            Fichier.WriteLine(_Ziel);                  // Ziel
            Fichier.WriteLine(_Kompetenz);             // Persönlichen Kompetenzen
            Fichier.WriteLine(_Ausbildung);            // Ausbildung
            Fichier.WriteLine(_Interets);              // Centres d'Intérêts
            //--------------------------------------------------
            Fichier.Close();
        }
예제 #26
0
        /// <summary>
        /// Récupération des dossiers et des fichiers
        /// <summary>
        public List <Fichier> GetFolderAndFiles(List <Metadata> Entries)
        {
            List <Fichier> lstFiles = new List <Fichier>();

            // folder
            foreach (var item in Entries.Where(i => i.IsFolder))
            {
                string  IMG = "/IMG/folder.ico";
                Fichier f   = new Fichier(item.AsFolder.Id, item.Name, IMG, "dossier de fichiers", null, null, "-", false);
                f.path = item.PathDisplay;
                lstFiles.Add(f);
            }

            //Files
            foreach (var item in Entries.Where(i => i.IsFile))
            {
                string   type           = Path.GetExtension(item.Name).Split('.')[1];
                string   IMG            = GetIcoByType(type);
                DateTime dateDeCreation = Convert.ToDateTime(item.AsFile.ClientModified.ToString("f", CultureInfo.CreateSpecificCulture("fr-FR")));
                DateTime ModifieLe      = Convert.ToDateTime(item.AsFile.ServerModified.ToString("f", CultureInfo.CreateSpecificCulture("fr-FR")));
                string   taille         = Convert.ToInt32(((item.AsFile.Size / 1024f) / 1024f) * 1024).ToString();
                Fichier  f = new Fichier(item.AsFile.Id, item.Name, IMG, type, dateDeCreation, ModifieLe, taille, true);
                f.path = item.PathDisplay;
                lstFiles.Add(f);
            }
            return(lstFiles);
        }
예제 #27
0
        private void SelectDossier()
        {
            Extensions = new ObservableCollection <Extension>();
            Fichiers   = new List <Fichier>();

            Dossier = Dossier.SelectDossier();
            RaisePropertyChanged("Dossier");
            SelectedDossier = Dossier.PathDossier;
            RaisePropertyChanged("PathDossier");
            if (SelectedDossier == "")
            {
                Result = "Aucun dossier choisi";
            }
            else
            {
                try
                {
                    Result = "En cours de chargement...";
                    RaisePropertyChanged("Result");
                    Task.Factory.StartNew(() =>
                    {
                        List <Fichier> tmpFichiers = Fichier.GetFilesList(Dossier.PathDossier, WithFolders);
                        Dispatcher.CurrentDispatcher.Invoke(() =>
                        {
                            Fichiers = tmpFichiers;
                            Result   = "";
                            RaisePropertyChanged("Result");
                            RaisePropertyChanged("Fichiers");

                            if (Fichiers.Count() > 0)
                            {
                                Result = "En cours de chargement...";
                                Task.Factory.StartNew(() =>
                                {
                                    List <Extension> tmpExtensions = Extension.GetExtensionsList(Fichiers);
                                    Dispatcher.CurrentDispatcher.Invoke(() =>
                                    {
                                        Extensions = tmpExtensions.CastToObservable();
                                        RaisePropertyChanged("Extensions");
                                        Result = "Chargement fini";
                                        RaisePropertyChanged("Result");
                                    });
                                });
                            }
                            else if (Fichiers.Count() == 0)
                            {
                                Result = "Aucun fichier dans ce dossier";
                                RaisePropertyChanged("Result");
                            }
                        });
                    });
                }
                catch (Exception ex)
                {
                    Result = "Erreur, veuillez choisir le dossier de nouveau";
                    RaisePropertyChanged("Result");
                }
            }
        }
        public static String afficherArchive(String idArch)
        {
            ActionsFichier ActsFich = new ActionsFichier();
            Fichier        f        = ActsFich.getFichierById(Int32.Parse(idArch));
            String         s        = GenerateArchive(f);

            return(s);
        }
예제 #29
0
        public IHttpActionResult Delete(int id)
        {
            Fichier file = AdbContext.Fichiers.Find(id);

            AdbContext.Fichiers.Remove(file);
            AdbContext.SaveChanges();
            return(Ok());
        }
        public void RefaireNotifChaqueJour(Fichier f)
        {
            String rec = "id" + f.idFichier;

            f = new ActionsFichier().getFichierById(f.idFichier);
            f.HangFireRecJobNotID = rec;
            new ActionsFichier().modifier(f);
            RecurringJob.AddOrUpdate(rec, () => ajouterNotificationPour(f), Cron.Daily);
        }