Ejemplo n.º 1
0
         public HomeViewModelMock()
         {
             LesNouveauxDocuments = new ObservableCollection<DocumentMetadataDataContract>();
             for (int i = 0; i < 20; i++)
             {
                 var dmDC = new DocumentMetadataDataContract();
                    dmDC.Auteur = "Alexandre Equoy";                    
                    dmDC.Commentaires="Je peux laisser un commentaire sur ce document";
                    dmDC.CreateDate = DateTime.Now;
                    dmDC.DocumentVersion=1;                    
                    dmDC.Producteur = "ACCESS IT";
                    dmDC.RubriqueDocument = "Lutte contre les nuisibles";
                    dmDC.SousTypeDocument = "Preuve";                    
                    dmDC.TypeDocument = "Contrat";
                    dmDC.RubriqueDocumentCode = "LN";
                    dmDC.SousTypeDocumentCode = "PRV";
                    dmDC.TypeDocumentCode = "CTN";
                    dmDC.Titre = "Catalogue de formation";
                    LesNouveauxDocuments.Add(dmDC);

             }
             LesTachesToDo = new ObservableCollection<IcomiTask>();
             for (int i = 0; i < 4; i++)
             {
                 LesTachesToDo.Add(new IcomiTask(string.Empty){Title="Prise de température dans les douches", TileTitle="Prise de T°",NbOccurence=1});
             }
         }
Ejemplo n.º 2
0
 /// <summary>
 /// Valide l'édition en cours et retourne à l'écran principal
 /// </summary>
 /// <param name="notUsed"></param>
 protected virtual void ExecuteValiderCommand(DocumentMetadataDataContract param)
 {
     if (param != null)
     {
         this.SelectedDocument = param;
     }
 }
Ejemplo n.º 3
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            try
            {
                this.ProgressInsert.Visibility = Visibility.Visible;
                var gSP = new GestionSharepoint();
                string fileTest = this.FileTextBox.Text;
                string LibraryName = "ICOMI_BPH";
                var dmDC = new DocumentMetadataDataContract();
                dmDC.Auteur = "Alexandre Equoy";
                dmDC.Commentaires = this.Commentaires.Text;
                dmDC.CreateDate = DateTime.Now;
                dmDC.DocumentVersion = 1;
                dmDC.Producteur = this.Producteur.Text;
                dmDC.RubriqueDocument = this.Rubrique.Text;
                dmDC.SousTypeDocument = this.SousType.Text;
                dmDC.TypeDocument = this.Type.Text;
                dmDC.RubriqueDocumentCode = RefObjectSPService.GetRubriques().Where(r => r.Libelle.Equals(this.Rubrique.Text)).First().Code;
                dmDC.SousTypeDocumentCode = RefObjectSPService.GetSousTypeDocument().Where(r => r.Libelle.Equals(this.SousType.Text)).First().Code;
                dmDC.TypeDocumentCode = RefObjectSPService.GetTypeDocument().Where(r => r.Libelle.Equals(this.Type.Text)).First().Code; ;
                dmDC.Titre = this.Titre.Text;

                var result = gSP.AddFile(LibraryName, dmDC, System.IO.File.ReadAllBytes(fileTest), ".PDF");
                if (result != null)
                    if (ReturnHome != null)
                        ReturnHome(sender, e);
                this.ProgressInsert.Visibility = Visibility.Hidden;
            }
            catch (Exception ex)
            {

            }
            finally
            {
                this.Commentaires.Text = string.Empty;
                this.Producteur.Text = string.Empty;
                this.Titre.Text = string.Empty;
            }

        }
Ejemplo n.º 4
0
 /// <summary>
 /// Indique si l'objet est valide
 /// </summary>
 private bool CanExecuteValiderCommand(DocumentMetadataDataContract param)
 {
     return true;
 }
Ejemplo n.º 5
0
		/// <summary>
		/// Ajoute un fichier dans Sharepoint
		/// </summary>
		/// <param name="libraryName">le nom de la librairie de stockage</param>
		/// <param name="metadatas">les metadatas reliées au document</param>
		/// <param name="content">le document sous forme de tableau de bytes</param>
		/// <param name="extension">l'extension du fichier ajouté</param>
		/// <returns>le nom du fichier tel qu'il est connu dans sharepoint</returns>
		public string AddFile(string libraryName, DocumentMetadataDataContract metadatas, byte[] content, string extension)
		{
			BusinessException.ThrowIfNullOrEmpty(libraryName, "La librairie sharepoint contenant les documents n'a pas été spécifiée dans le fichier de configuration");
			BusinessException.ThrowIfNullOrEmpty(extension, "L'extension n'a pas été renseignée.");
			BusinessException.ThrowIfNull(metadatas, "Les métadatas n'ont pas été renseignées.");
            BusinessException.ThrowIfNullOrEmpty(metadatas.RubriqueDocument, "La rubrique du document n'a pas été renseigné.");
            BusinessException.ThrowIfNullOrEmpty(metadatas.TypeDocument, "Le type du document n'a pas été renseigné.");
            BusinessException.ThrowIfNullOrEmpty(metadatas.SousTypeDocument, "Le sstype du document n'a pas été renseigné.");
            BusinessException.ThrowIfNullOrEmpty(metadatas.DocumentVersion.ToString(), "La Version du document n'a pas été renseigné.");

            try
            {
                extension = string.Concat(!extension.StartsWith(".", StringComparison.Ordinal) ? "." : "", extension);

                // Génération du nom du fichier (son identifiant) LN_PRV_CTN_100320121234321234_1
                string codeName = string.Concat(metadatas.RubriqueDocumentCode, "_", metadatas.TypeDocumentCode, "_", metadatas.SousTypeDocumentCode, "_", DateTime.Now.ToString("ddMMyyyyhhmmssffff"), "_", metadatas.DocumentVersion.ToString());
                metadatas.CodeDocument = codeName;
                string fileName = string.Concat(codeName, extension);

                // Récupère le contexte sharepoint
                var ctx = SharepointContextFactory.GetFullTrustContext();
                if (ctx != null)
                {
                    //ctx.Load(ctx.Web); // Query for Web
                    //ctx.ExecuteQuery(); // Execute
                    ctx.Load(ctx.Web.Folders);
                    ctx.ExecuteQuery();
                    Microsoft.SharePoint.Client.Folder dir = null;
                    foreach (var dirItem in ctx.Web.Folders)
                    {
                        if (dirItem.Name.Equals(libraryName))
                            dir = dirItem;
                    }
                    if (dir != null)
                    {
                        FileCollection documentsFiles = dir.Files;
                        ctx.Load(documentsFiles);
                        ctx.ExecuteQuery();
                        // Charge la collection des documents de la librairie
                        //FileCollection documentsFiles = ctx.Web.GetFolderByServerRelativeUrl(libraryName).Files;
                        //ctx.Load(documentsFiles);
                        //ctx.ExecuteQuery();

                        // information sur le fichier
                        FileCreationInformation fciNewFileFromComputer = new FileCreationInformation();
                        fciNewFileFromComputer.Content = content;
                        fciNewFileFromComputer.Url = fileName;
                        fciNewFileFromComputer.Overwrite = true;

                        // Ajoute le fichier à la collection
                        Microsoft.SharePoint.Client.File newFile = documentsFiles.Add(fciNewFileFromComputer);
                        ctx.Load(newFile);

                        // recupération des metadatas existantes sur le fichier
                        Microsoft.SharePoint.Client.ListItem item = newFile.ListItemAllFields;
                        ctx.Load(item);

                        // ajout des metadatas au nouveau fichier
                        FillMetadatas(item, metadatas, fileName);

                        item.Update();
                        ctx.Load(item);
                        ctx.ExecuteQuery();

                        return fileName;
                    }

                }
                return null;
            }
            catch (Exception ex)
            {
                throw new BusinessException(GetType().FullName, "UploadToSharepoint", "Erreur lors de l'envoi du document vers Sharepoint : " + ex.Message, ex);
            }
		}
Ejemplo n.º 6
0
        /// <summary>
        /// Récupère les documents qui ont changé dans les librairies
        /// </summary>
        /// <returns>la liste des documents</returns>
        public List<DocumentMetadataDataContract> GetAllChangedDocumentMetaByRubrique(string libraryName)
        {
            List<DocumentMetadataDataContract> listMeta = new List<DocumentMetadataDataContract>();
            try
            {
                // Récupère le contexte sharepoint
                var ctx = SharepointContextFactory.GetContext();

                string camlQuery = "<Where><Geq><FieldRef Name='Modified'/><Value Type='DateTime'><Today OffsetDays='-20'/></Value></Geq> </Where>";

                ListItemCollection listItems;
                if (TryGetListItem(ctx, libraryName, camlQuery, out listItems))
                {
                    if (listItems.Count > 0)
                    {
                        foreach (ListItem listItem in listItems.ToList())
                        {
                            var dmDC = new DocumentMetadataDataContract();
                            dmDC.NomDocument = listItem.FieldValues["NomDocument"] != null ? listItem.FieldValues["NomDocument"].ToString() : string.Empty;
                            dmDC.CreateDate = listItem.FieldValues["Modified"] != null ? (DateTime)listItem.FieldValues["Modified"] : DateTime.Now;
                            dmDC.CodeDocument = listItem.FieldValues["CodeDocument"] != null ? listItem.FieldValues["CodeDocument"].ToString() : string.Empty;
                            dmDC.Commentaires = listItem.FieldValues["Commentaires"] != null ? listItem.FieldValues["Commentaires"].ToString() : string.Empty;
                            dmDC.RubriqueDocument = listItem.FieldValues["RubriqueDocument"] != null ? listItem.FieldValues["RubriqueDocument"].ToString() : string.Empty;
                            dmDC.TypeDocument = listItem.FieldValues["TypeDocument"] != null ? listItem.FieldValues["TypeDocument"].ToString() : string.Empty;
                            dmDC.SousTypeDocument = listItem.FieldValues["SousTypeDocument"] != null ? listItem.FieldValues["SousTypeDocument"].ToString() : string.Empty;
                            dmDC.RubriqueDocumentCode = listItem.FieldValues["RubriqueDocumentCode"] != null ? listItem.FieldValues["RubriqueDocumentCode"].ToString() : string.Empty;
                            dmDC.TypeDocumentCode = listItem.FieldValues["TypeDocumentCode"] != null ? listItem.FieldValues["TypeDocumentCode"].ToString() : string.Empty;
                            dmDC.SousTypeDocumentCode = listItem.FieldValues["SousTypeDocumentCode"] != null ? listItem.FieldValues["SousTypeDocumentCode"].ToString() : string.Empty;
                            dmDC.DocumentVersion = listItem.FieldValues["DocumentVersion"] != null ? Int32.Parse(listItem.FieldValues["DocumentVersion"].ToString()) : 1;
                            dmDC.Producteur = listItem.FieldValues["Producteur"] != null ? listItem.FieldValues["Producteur"].ToString() : string.Empty;
                            dmDC.Titre = listItem.FieldValues["Title"] != null ? listItem.FieldValues["Title"].ToString() : string.Empty;
                            dmDC.Auteur = listItem.FieldValues["Auteur"] != null ? listItem.FieldValues["Auteur"].ToString() : string.Empty;
                            listMeta.Add(dmDC);
                        }
                    }
                    else
                    {

                    }
                }
                else
                {
                    throw new BusinessException(GetType().FullName, "GetAllChangedDocumentMetaByRubrique", string.Format("Erreur lors de la récupération des documents qui ont changé dans Sharepoint."));
                }

                return listMeta;
            }
            catch (ExceptionBase)
            {

                throw;
            }
            catch (Exception ex)
            {
                throw new BusinessException(GetType().FullName, "GetAllChangedDocumentMetaByRubrique", string.Format("Erreur lors de la récupération des documents qui ont changé dans Sharepoint : {1}", ex.Message), ex);
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Obtenir la liste des meta données des courrier 
        /// </summary>
        /// <param name="id">liste des identifiant dossier</param>
        /// <param name="libraryName">nom de la lib</param>
        /// <param name="extension">extension dosseir</param>
        /// <returns></returns>
        public List<DocumentMetadataDataContract> GetAllDocumentMetaByRubrique(string rubriqueCode, string libraryName, out string extension)
        {
            // tester si le parametre est nulle;
            BusinessException.ThrowIfNull(rubriqueCode, "la rubrique n'est pas renseignée");

            extension = string.Empty;
            List<DocumentMetadataDataContract> listMeta = new List<DocumentMetadataDataContract>();
            try
            {
                // Récupère le contexte sharepoint
                var ctx = SharepointContextFactory.GetContext();

                string camlQuery = string.Format("<View><Query><Where><Eq><FieldRef Name='RubriqueDocumentCode' /><Value Type='Text'>{0}</Value></Eq></Where></Query></View>", rubriqueCode);

                ListItemCollection listItems;
                if (TryGetListItem(ctx, libraryName, camlQuery, out listItems))
                {
                    if (listItems.Count > 0)
                    {
                        foreach (ListItem listItem in listItems.ToList())
                        {
                            var dmDC = new DocumentMetadataDataContract();
                            dmDC.NomDocument = listItem.FieldValues["NomDocument"] != null ? listItem.FieldValues["NomDocument"].ToString() : string.Empty;
                            dmDC.CreateDate = listItem.FieldValues["Modified"] != null ? (DateTime)listItem.FieldValues["Modified"] : DateTime.Now;
                            dmDC.CodeDocument = listItem.FieldValues["CodeDocument"] != null ? listItem.FieldValues["CodeDocument"].ToString() : string.Empty;
                            dmDC.Commentaires = listItem.FieldValues["Commentaires"] != null ? listItem.FieldValues["Commentaires"].ToString() : string.Empty;
                            dmDC.RubriqueDocument = listItem.FieldValues["RubriqueDocument"] != null ? listItem.FieldValues["RubriqueDocument"].ToString() : string.Empty;
                            dmDC.TypeDocument = listItem.FieldValues["TypeDocument"] != null ? listItem.FieldValues["TypeDocument"].ToString() : string.Empty;
                            dmDC.SousTypeDocument = listItem.FieldValues["SousTypeDocument"] != null ? listItem.FieldValues["SousTypeDocument"].ToString() : string.Empty;
                            dmDC.RubriqueDocumentCode = listItem.FieldValues["RubriqueDocumentCode"] != null ? listItem.FieldValues["RubriqueDocumentCode"].ToString() : string.Empty;
                            dmDC.TypeDocumentCode = listItem.FieldValues["TypeDocumentCode"] != null ? listItem.FieldValues["TypeDocumentCode"].ToString() : string.Empty;
                            dmDC.SousTypeDocumentCode = listItem.FieldValues["SousTypeDocumentCode"] != null ? listItem.FieldValues["SousTypeDocumentCode"].ToString() : string.Empty;
                            dmDC.DocumentVersion = listItem.FieldValues["DocumentVersion"] != null ? Int32.Parse(listItem.FieldValues["DocumentVersion"].ToString()) : 1;
                            dmDC.Producteur = listItem.FieldValues["Producteur"] != null ? listItem.FieldValues["Producteur"].ToString() : string.Empty;
                            dmDC.Titre = listItem.FieldValues["Title"] != null ? listItem.FieldValues["Title"].ToString() : string.Empty;
                            dmDC.Auteur = listItem.FieldValues["Auteur"] != null ? listItem.FieldValues["Auteur"].ToString() : string.Empty;
                            listMeta.Add(dmDC);
                        }
                    }
                    else
                    {

                    }
                }
                else
                {
                    throw new BusinessException(GetType().FullName, "GetAllDocumentMetaByRubrique", string.Format("Erreur lors de la récupération des documents de la rubrique '{0}' dans Sharepoint.", rubriqueCode));
                }

                return listMeta;
            }
            catch (ExceptionBase)
            {

                throw;
            }
            catch (Exception ex)
            {
                throw new BusinessException(GetType().FullName, "GetAllDocumentMetaByRubrique", string.Format("Erreur lors de la récupération des documents de la rubrique '{0}' dans Sharepoint : {1}", rubriqueCode, ex.Message), ex);
            }
        }
Ejemplo n.º 8
0
		/// <summary>
		/// Remplit les metadatas d'un document
		/// </summary>
		/// <param name="item">l'item sharepoint représentant le fichier que l'on va traiter</param>
		/// <param name="metadata">des métadatas</param>
		/// <param name="fileName">le nom du fichier</param>
		protected void FillMetadatas(Microsoft.SharePoint.Client.ListItem item, DocumentMetadataDataContract metadata, string fileName)
		{
			item["CodeDocument"] = metadata.CodeDocument;
            item["Auteur"] = metadata.Auteur;
            item["Commentaires"] = metadata.Commentaires;
            item["DocumentVersion"] = metadata.DocumentVersion.ToString();
            item["NomDocument"] = fileName;            
			item["Producteur"] = metadata.Producteur;
			item["Title"] = metadata.Titre;
            item["RubriqueDocument"] = metadata.RubriqueDocument;
            item["TypeDocument"] = metadata.TypeDocument;
            item["SousTypeDocument"] = metadata.SousTypeDocument;
            item["RubriqueDocumentCode"] = metadata.RubriqueDocumentCode;
            item["TypeDocumentCode"] = metadata.TypeDocumentCode;
            item["SousTypeDocumentCode"] = metadata.SousTypeDocumentCode;
		}
Ejemplo n.º 9
0
         /// <summary>
         /// Valide l'édition en cours et retourne à l'écran principal
         /// </summary>
         /// <param name="notUsed"></param>
         protected virtual void ExecuteViewDocumentCommand(DocumentMetadataDataContract param)
         {
             try
             {
                 var leDocument = param.NomDocument;

                 string savedFile = System.IO.Path.Combine(System.IO.Path.GetTempPath(), leDocument);
                 if (!File.Exists(savedFile))
                 {
                     _dispatcher.Invoke(
                            System.Windows.Threading.DispatcherPriority.Normal,
                            new Action(
                              delegate()
                              {
                                  GestionSharepoint gSP = new GestionSharepoint();
                                  string extension = string.Empty;
                                  var document = gSP.GetFile(leDocument, "ICOMI_BPH", out extension);
                                  File.WriteAllBytes(savedFile, document);
                              }
                          ));
                 }
                 System.Diagnostics.Process.Start(savedFile);
             }
             catch
             {

             }
             
         }
Ejemplo n.º 10
0
        static void Main(string[] args)
        {
            //if (args.Length < 1) { Console.WriteLine("SP_Ctx <url>"); return; }

            //string targetSite = args[0];
            //using (ClientContext ctx = ClaimClientContext.GetAuthenticatedContext(targetSite))
            //{
            //    if (ctx != null)
            //    {
            //        ctx.Load(ctx.Web); // Query for Web
            //        ctx.ExecuteQuery(); // Execute
            //        var list = ctx.Web.Lists.GetByTitle("ICOMI_ERP_PLANIF");
            //        var camlQuery = new CamlQuery
            //        {
            //            ViewXml = @"<View/>"
            //        };
            //        var listItemCollection = list.GetItems(camlQuery);
            //        ctx.Load(listItemCollection);
            //        ctx.ExecuteQuery();
            //        string s = string.Empty;
            //        foreach (var item in listItemCollection)
            //        {
            //            foreach (var key in item.FieldValues.Keys)
            //            {
            //                Console.WriteLine(key);
            //                Console.WriteLine(item.FieldValues[key]);
            //            }                           
            //        }					
            //    }
            //}
            //using (ClientContext ctx = ClaimClientContext.GetAuthenticatedContext(GestionSharepoint.SharepointUrl))
            //{
            //    if (ctx != null)
            //    {
                    //ctx.Load(ctx.Web); // Query for Web
                    //ctx.ExecuteQuery(); // Execute
                   
                    //foreach (var item in ctx.Web.Folders)
                    //{
                    //    ctx.Load(item.Files);
                    //    ctx.ExecuteQuery();
                    //}


                    var gSP = new GestionSharepoint();

                    //Sharepoint.QueryServiceSoapClient monClient = new Sharepoint.QueryServiceSoapClient();
                    //monClient.ClientCredentials.UserName.UserName = "******";
                    //monClient.ClientCredentials.UserName.Password = "******";

                    //System.Data.DataSet queryResults = monClient.QueryEx(GetXMLString());


                    var ctx = SharepointContextFactory.GetContext();
                    
                    var list = ctx.Web.Lists.GetByTitle("ICOMI_ERP_PLANIF");
                    ctx.Load(list);                        
                    ctx.ExecuteQuery();

                    string dede = @"<View><Query> <Where> <DateRangesOverlap> <FieldRefName='EventDate' /> <FieldRefName='EndDate' /> <FieldRefName='RecurrenceID' /> <ValueType='DateTime'> <Today /> </Value> </DateRangesOverlap> </Where> </Query> <QueryOptions> <ExpandRecurrence>TRUE</ExpandRecurrence> <CalendarDate> <Today /> </CalendarDate> <ViewAttributesScope='RecursiveAll' /> </QueryOptions> </View>";
                    string dede2 = @"<View><Query>  <Where><DateRangesOverlap> <FieldRef Name='EventDate' /> <FieldRef Name='EndDate' /> <FieldRef Name='RecurrenceID'/> <Value Type='DateTime'> <Today /> </Value> </DateRangesOverlap>  </Where> </Query></View>";
                    string dede3 = "<View scope='RecursiveAll'><Query> <Where><And><Eq> <FieldRef Name='User'/> <Value Type='Lookup'>Alexandre Equoy</Value> </Eq> <DateRangesOverlap> <FieldRef Name='EventDate' /> <FieldRef Name='EndDate' /> <FieldRef Name='RecurrenceID'/> <Value Type='DateTime'> <Today /> </Value> </DateRangesOverlap> </And></Where> </Query></View>";
                
                    var camlQuery = new CamlQuery
                            {
                                ViewXml = dede3
                            };
                    // </And>LookupId='TRUE' 
                    var l = list.GetItems(camlQuery);

                    ctx.Load(l);
                    ctx.ExecuteQuery();
                    foreach (var item in l)
                    {
                        string s = item.FieldValues["StartTime"].ToString();
                        foreach (var item2 in item.FieldValues)
                        {
                            
                        }
                        
                    }
                    ChangeToken ct = null;
                    var q = list.GetChanges(new ChangeQuery() { Add = true });
                   //ctx.Web.GetChanges( Add = true, Update = true, File = true });
                    ctx.Load(q);
                    ctx.ExecuteQuery();
                    while (q.Count > 0)
                    {
                    }

                    string tempDir = @"C:\Users\aequoy.ACCESSIT\Documents";
                    string fileTest = @"C:\Users\aequoy.ACCESSIT\Documents\catalogue_formation_2012_normal.pdf";
                    string LibraryName = "ICOMI_BPH";
                    var dmDC = new DocumentMetadataDataContract();
                    dmDC.Auteur = "Alexandre Equoy";                    
                    dmDC.Commentaires="Je peux laisser un commentaire sur ce document";
                    dmDC.CreateDate = DateTime.Now;
                    dmDC.DocumentVersion=1;                    
                    dmDC.Producteur = "ACCESS IT";
                    dmDC.RubriqueDocument = "Lutte contre les nuisibles";
                    dmDC.SousTypeDocument = "Preuve";                    
                    dmDC.TypeDocument = "Contrat";
                    dmDC.RubriqueDocumentCode = "LN";
                    dmDC.SousTypeDocumentCode = "PRV";
                    dmDC.TypeDocumentCode = "CTN";
                    dmDC.Titre = "Catalogue de formation";

                   //gSP.AddFile(LibraryName, dmDC, System.IO.File.ReadAllBytes(fileTest), ".PDF");
                    string extension = string.Empty;
                    var ll = gSP.GetAllDocumentMetaByRubrique("LN", LibraryName, out extension);
            //    }
            //}

            Console.ReadLine();
        }