none
comment définire un fichier de ma bibliotheque comme item afin de lire le Item.moderetionInformation.status RRS feed

  • Question

  • Bonjour a tous

    Voila mon problème :

    J’ai un portail SharePoint 2003 dans lequel j'ai un site avec une bibliothèque de document.

     

    j'ai fais une dll qui intercepte l'événement de validation d'un document.(update)

    Seulement moi je veux créer un PDF si et seulement si ce document est approuver.

    J’arrive à récupérer le nom et le chemin du document qui vient d'aitre valider, mai pas son status.

     

    voila un bout de mon code pour le test je créé simplement un fichier texte simple:

     

     

    public void OnEvent(SPListEvent theEvent)

    {

       try

       {

          if(theEvent.type==SPListeEventType.Update)

               {

                   fs= File.create(@"c:\Update.txt");

                   sw= new StreamWriter(fs)

                   Microsoft.SharePoint.SPSite  site = new SPSite("http://localhost:81/sites/bibliotheque/ma_bibliotheque/Forms/");

     

     

    sw.Write("url du site : \n");

                                                                                                                                      sw.Write(theEvent.WebUrl);sw.Write("\n");

    sw.Write("UrlAfter : \n");

                                                                                                                                      sw.Write(theEvent.UrlAfter);sw.Write("\n");

    sw.Write("url du site web : \n");

                                       sw.Write(site.Url.ToString());sw.Write("\n");

    ...

     

     

    Voila.

     

    Donc sa, sa marche. Mais comment à partir de sa (ou pas) je peux faire pour savoir si le fichier que je viens de modifier viens d'aitre approuver. J’ai vue que dans Item.moderetionInformation.status on a le status du fichier mais comment dire que l'item en question est le fichier qui viens d'aitre valider et don je connait le nom et l'url.

     

    C’est tout, merci d'avance.

     

    jeudi 29 novembre 2007 12:54

Toutes les réponses

  • aider moi s'il vous plais!
    mardi 4 décembre 2007 11:44
  • Voici du code (mais c'est pour du moss, sous 2003 je connais pas)

     

    Extrait de code

    namespace VerifDoc
    {
        public class VerifDoc : SPItemEventReceiver
        {
            public override void  ItemAdded(SPItemEventProperties properties)
            {
               base.ItemAdded(properties);

                SPSecurity.RunWithElevatedPrivileges(delegate()
                {
                    SPSite site = new SPSite(properties.SiteId);
                    SPWeb web = site.OpenWeb(properties.RelativeWebUrl);
                    SPListItem item = web.Lists[properties.ListId].GetItemById(properties.ListItemId);

                    if (item["Type"].ToString().ToLower().Equals("jpg"))
                    {
                        item.Delete();
                        properties.ErrorMessage = "Vous ne pouvez pas ajouter de message image...";
                    }

                });
            }
        }      
    }

     

     

     

    Dans l'exemple si dessus je compare le type de doc, mais vous pouvez allez rechercher son status --> item["Status"].

     

    J'espère que ça vous aidera...

    mercredi 5 décembre 2007 08:06