public static String commArchivage(String idF)
        {
            ActionsFichier act  = new ActionsFichier();
            HangFireUtil   hang = new HangFireUtil(act);
            Fichier        f    = act.getFichierById(Int32.Parse(idF));

            f.commArch = 1;
            act.modifier(f);
            f.type = new ActionsType().getTypeById(f.idType);
            if (f.type.DUAselon == "DateAjout")
            {
                f.dateSuppression = f.dateAjout.AddDays(f.type.duree);
                act.modifier(f);
                if (f.type.action == "Destruction")
                {
                    hang.DestructionSelonAjout(f);
                }
                else if (f.type.action == "Conservation")
                {
                    hang.ConservationSelonAjout(f);
                }
            }
            else if (f.type.DUAselon == "DateDernierAcces")
            {
                if (f.type.action == "Destruction")
                {
                    hang.DestructionSelonDernerAcces(f);
                }
                else if (f.type.action == "Conservation")
                {
                    hang.ConservationSelonDernerAcces(f);
                }
            }

            Historique h = new Historique();

            h.textHistorique = "les regles de conservation sont applique pour l archive " + f.Nom;
            h.IdFichier      = f.idFichier;
            h.date           = DateTime.Now;
            new ActionsHistorique().ajouterHistorique(h);

            if (f.sortFinalComm == 0)
            {
                return(RetentionArchives.ArchiveInfoGenerateur(f));
            }
            else if (f.sortFinalComm == 1)
            {
                return(RetentionArchives.ArchiveInfoGenerateur(f));
            }
            else
            {
                return("verifiez votre connection");
            }
        }
예제 #2
0
        public static string getArchiveInfo(String idArch)
        {
            ActionsFichier actsF     = new ActionsFichier();
            int            idArchive = 0;

            Int32.TryParse(idArch, out idArchive);
            Fichier f = actsF.getFichierById(idArchive);

            f.dateDernierAcces = DateTime.Now;

            if (f.commArch == 1)
            {
                if (f.sortFinalComm == 0)
                {
                    f.type = new ActionsType().getTypeById(f.idType);
                    if (f.type.DUAselon == "DateDernierAcces")
                    {
                        if (f.type.action == "Destruction")
                        {
                            new HangFireUtil(actsF).DestructionSelonDernerAcces(f);
                        }
                        else if (f.type.action == "Conservation")
                        {
                            new HangFireUtil(actsF).ConservationSelonDernerAcces(f);
                        }
                    }
                }
            }
            Historique h = new Historique();

            h.textHistorique = "L archive " + f.Nom + " de type " + f.type.nomType + " a étè accede";
            h.IdFichier      = f.idFichier;
            h.date           = DateTime.Now;
            new ActionsHistorique().ajouterHistorique(h);

            actsF.modifier(f);
            if (f.sortFinalComm == 0)
            {
                return(ArchiveInfoGenerateur(f));
            }
            else if (f.sortFinalComm == 1)
            {
                return(ArchiveInfoGenerateur(f));
            }
            else
            {
                return("verifiez votre connection");
            }
        }
        // cas ou le sort final est la suppression , selon la date d'ajout
        public void DestructionSelonAjout(Fichier f)
        {//calcul de temps restant pour notification et pour la suppression:
            int joursRest = f.dateSuppression.Subtract(f.dateAjout).Days;
            int jousRestPourNorification = joursRest - NotifComm;

            BackgroundJob.Schedule(//programmer l'affichage de notifications
                () => actionsNotification.RefaireNotifChaqueJour(f),
                TimeSpan.FromDays(jousRestPourNorification));

            var JobId = BackgroundJob.Schedule(
                () => actionsFichier.supprimerF(f.idFichier),
                TimeSpan.FromDays(joursRest));

            f.HangFireID = JobId;
            actionsFichier.modifier(f);
        }