Exemplo n.º 1
0
 /// <summary>
 /// Télécharge le fichier d'installation du module déporté désiré
 /// </summary>
 /// <param name="module"></param>
 /// <param name="version"></param>
 /// <param name="fileContent"></param>
 /// <param name="completed"></param>
 public void UploadModule(Proteca.Silverlight.Enums.NavigationEnums.ModulesNavigation module, string version, byte[] fileContent, Action<Exception> completed)
 {
     Logger.Log(LogSeverity.Information, GetType().FullName, MethodBase.GetCurrentMethod().Name);
     ResetContext();
     if (ContextClientSharePoint != null)
     {
         DAVHelper.UploadFile(ContextClientSharePoint.Url + ModulesDefaultFolder + "/" + module.GetStringValue(), fileContent, (ex) =>
         {
             if (ex != null)
             {
                 Logger.Log(LogSeverity.Error, this.GetType().FullName, ex);
                 _syncCtxt.Post(unused => completed(ex), null);
             }
             else
             {
                 _syncCtxt.Post(unused => UpdateModule(module, version, completed), null);
             }
         });
     }
     else
     {
         var ex = new Exception(Resource.TypeDocument_SharepointContextError);
         Logger.Log(LogSeverity.Warning, this.GetType().FullName, ex);
         completed(ex);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Mise à jour du numéro de version du fichier d'installation du module déporté désiré
        /// </summary>
        /// <param name="module"></param>
        /// <param name="version"></param>
        /// <param name="completed"></param>
        public void UpdateModule(Proteca.Silverlight.Enums.NavigationEnums.ModulesNavigation module, string version, Action<Exception> completed)
        {
            Logger.Log(LogSeverity.Information, GetType().FullName, MethodBase.GetCurrentMethod().Name);
            ResetContext();
            if (ContextClientSharePoint != null)
            {
                Folder folder = ContextClientSharePoint.Web.GetFolderByServerRelativeUrl(ModulesDefaultFolder);
                var files = ContextClientSharePoint.LoadQuery(folder.Files.Include(f => f.Name));

                // Chargement des contentTypes
                ContentTypeCollection contentTypes = ContextClientSharePoint.Web.AvailableContentTypes;
                ContextClientSharePoint.Load(contentTypes);

                ContextClientSharePoint.ExecuteQueryAsync(
                (o, e) =>
                {
                    var resFiles = files.ToList();
                    var file = resFiles.Where(f => f.Name == module.GetStringValue()).FirstOrDefault();
                    ListItem item = file.ListItemAllFields;
                    ContextClientSharePoint.Load(item);
                    item["_Comments"] = version;
                    item["ContentTypeId"] = contentTypes.Where(c => c.Name == "Proteca Module Document").Select(c => c.Id);

                    // Mise à jour du document
                    item.Update();
                    ContextClientSharePoint.ExecuteQueryAsync(
                    (oo, ee) =>
                    {
                        _syncCtxt.Post(unused => completed(null), null);
                    },
                    (oo, ee) =>
                    {
                        Logger.Log(LogSeverity.Error, this.GetType().FullName, ee.Exception);
                        _syncCtxt.Post(unused => completed(ee.Exception), null);
                    });

                },
                (o, e) =>
                {
                    Logger.Log(LogSeverity.Error, this.GetType().FullName, e.Exception);
                    _syncCtxt.Post(unused => completed(e.Exception), null);
                }
                );
            }
            else
            {
                var ex = new Exception(Resource.TypeDocument_SharepointContextError);
                Logger.Log(LogSeverity.Warning, this.GetType().FullName, ex);
                completed(ex);
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// Télécharge le fichier d'installation du module déporté désiré
 /// </summary>
 /// <param name="module"></param>
 public Uri LinkModule(Proteca.Silverlight.Enums.NavigationEnums.ModulesNavigation module)
 {
     if (ContextClientSharePoint != null)
     {
         return new Uri(ContextClientSharePoint.Url + ModulesDefaultFolder + "/" + module.GetStringValue(), UriKind.Absolute);
     }
     else
     {
         return new Uri(ModulesDefaultFolder + module.GetStringValue(), UriKind.Relative);
     }
 }
Exemplo n.º 4
0
        /// <summary>
        /// Récupère le champ Comments d'un des modules 
        /// </summary>
        /// <param name="relativePath"></param>
        /// <param name="folderName"></param>
        public void GetModuleVersion(Proteca.Silverlight.Enums.NavigationEnums.ModulesNavigation module, Action<Exception, string> completed)
        {
            Logger.Log(LogSeverity.Information, GetType().FullName, MethodBase.GetCurrentMethod().Name);
            ResetContext();
            if (ContextClientSharePoint != null)
            {
                Folder folder = ContextClientSharePoint.Web.GetFolderByServerRelativeUrl(ModulesDefaultFolder);
                var files = ContextClientSharePoint.LoadQuery(folder.Files.Include(f => f.Name));

                ContextClientSharePoint.ExecuteQueryAsync(
                (o, e) =>
                {
                    var resFiles = files.ToList();
                    var file = resFiles.Where(f => f.Name == module.GetStringValue()).FirstOrDefault();
                    ListItem item = file.ListItemAllFields;
                    ContextClientSharePoint.Load(item);
                    _syncCtxt.Post(unused => completed(null, item["_Comments"].ToString()), null);
                },
                (o, e) =>
                {
                    Logger.Log(LogSeverity.Error, this.GetType().FullName, e.Exception);
                    _syncCtxt.Post(unused => completed(e.Exception, String.Empty), null);
                }
                );
            }
            else
            {
                var ex = new Exception(Resource.TypeDocument_SharepointContextError);
                Logger.Log(LogSeverity.Warning, this.GetType().FullName, ex);
                completed(ex, String.Empty);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Supprime le fichier d'installation du module déporté désiré
        /// </summary>
        /// <param name="module"></param>
        /// <param name="completed"></param>
        public void DeleteModule(Proteca.Silverlight.Enums.NavigationEnums.ModulesNavigation module, Action<Exception> completed)
        {
            Logger.Log(LogSeverity.Information, GetType().FullName, MethodBase.GetCurrentMethod().Name);
            ResetContext();
            if (ContextClientSharePoint != null)
            {
                Folder folder = ContextClientSharePoint.Web.GetFolderByServerRelativeUrl(ModulesDefaultFolder);
                var files = ContextClientSharePoint.LoadQuery(folder.Files.Include(f => f.Name));

                ContextClientSharePoint.ExecuteQueryAsync(
                (o, e) =>
                {
                    var resFiles = files.ToList();
                    if (resFiles.Where(f => f.Name == module.GetStringValue()).Count() == 1)
                    {
                        var file = resFiles.Where(f => f.Name == module.GetStringValue()).First();
                        // Suppression du fichier
                        file.DeleteObject();
                        _syncCtxt.Post(unused => ContextClientSharePoint.ExecuteQueryAsync(
                        (oo, ee) =>
                        {
                            _syncCtxt.Post(unused2 => completed(null), null);
                        },
                        (oo, ee) =>
                        {
                            Logger.Log(LogSeverity.Error, this.GetType().FullName, ee.Exception);
                            _syncCtxt.Post(unused2 => completed(ee.Exception), null);
                        }), null);

                    }
                    else
                    {
                        _syncCtxt.Post(unused => completed(new Exception(Resource.TypeDocument_SharepointFileError)), null);
                    }
                },
                (o, e) =>
                {
                    Logger.Log(LogSeverity.Error, this.GetType().FullName, e.Exception);
                    _syncCtxt.Post(unused => completed(e.Exception), null);
                }
                );
            }
            else
            {
                var ex = new Exception(Resource.TypeDocument_SharepointContextError);
                Logger.Log(LogSeverity.Warning, this.GetType().FullName, ex);
                completed(ex);
            }
        }
Exemplo n.º 6
0
 /// <summary>
 /// Récupère le role en fonction du code d'autorisation
 /// </summary>
 /// <param name="autorisationCode"></param>
 /// <returns></returns>
 public UsrRole GetRoleByAutorisationCode(Proteca.Web.Models.RefUsrAutorisation.ListAutorisationsEnum autorisationCode)
 {
     UsrRole role = null;
     if (this.UsrProfil != null && this.UsrProfil.UsrRole != null)
     {
         role = this.UsrProfil.UsrRole.Where(r => r.RefUsrAutorisation != null && r.RefUsrAutorisation.CodeAutorisation == autorisationCode.ToString()).FirstOrDefault();
     }
     return role;
 }