/// <summary>
 ///     新建文件夹
 /// </summary>
 /// <param name="token">token凭证</param>
 /// <param name="parentFolderId">父文件夹id</param>
 /// <param name="folderName">文件夹名称</param>
 /// <returns>ResultInt:Result=0成功,ResultValue:文件夹编号</returns>
 public static ResultInt CreateFolder(string token, int parentFolderId, string folderName)
 {
     try
     {
         var uploadFileApiProvider       = new DocumentApiProvider();
         var organizationApiProvider     = new OrganizationApiProvider();
         ResultEDocUserInfo eDocUserInfo = organizationApiProvider.GetUserInfoByToken(token);
         ResultInt          result       = uploadFileApiProvider.CreateFolder(
             token,
             parentFolderId,
             folderName,
             string.Empty,
             0,
             0,
             0,
             string.Empty,
             string.Empty,
             1,
             DateTime.Now,
             DateTime.Now,
             eDocUserInfo.UserInfo.UserRealName,
             eDocUserInfo.UserInfo.UserRealName
             );
         if (result.Result != 0)
         {
             throw new Exception("CreateFolder出错,result=" + result.Result);
         }
         return(result);
     }
     catch (Exception ex)
     {
         throw new Exception("CreateFolder出现异常,exMessage=" + ex.Message);
     }
 }
        /// <summary>
        ///     获取Token
        /// </summary>
        /// <returns></returns>
        public static string GetAdminToken()
        {
            var          organizationApiProvider = new OrganizationApiProvider();
            ResultString resultToken             =
                organizationApiProvider.UserLoginImpersonate(2);

            return(resultToken.ResultValue);
        }
        /// <summary>
        ///     根据部门ID获取所有子部门
        /// </summary>
        /// <param name="deptId">所在部门ID</param>
        /// <returns>所在部门ID下所有部门名称</returns>
        public static IList <string> GetChildDeptNames(int deptId)
        {
            var organizationApiProvider         = new OrganizationApiProvider();
            ResultEDocDepartmentInfoList result = organizationApiProvider.GetChildDepartments(GetAdminToken(), deptId);

            if (result.Result != 0)
            {
                throw new Exception("GetChildDeptNames错误,result=" + result.Result);
            }
            if (result.DepartmentInfoList.Length == 0)
            {
                return(new List <string>());
            }
            return(result.DepartmentInfoList.Select(item => item.DeptName).ToList());
        }
 /// <summary>
 ///     根据token获取用户信息
 /// </summary>
 /// <returns></returns>
 public static EDocUserInfo GetUserInfoByToken(string token)
 {
     //ResultInt:Result=0成功,ResultValue:文件编号
     try
     {
         var organizationApiProvider = new OrganizationApiProvider();
         ResultEDocUserInfo result   = organizationApiProvider.GetUserInfoByToken(token);
         if (result.Result != 0)
         {
             throw new Exception("GetUserInfoByToken出错,result=" + result.Result);
         }
         return(result.UserInfo);
     }
     catch (Exception ex)
     {
         throw new Exception("GetUserInfoByToken出现异常,exMessage=" + ex.Message);
     }
 }
 /// <summary>
 ///     获取用户组中的用户id
 /// </summary>
 /// <param name="groupId">用户组id</param>
 /// <returns></returns>
 public static IList <int> GetChildUserListInGroup(int groupId)
 {
     //ResultInt:Result=0成功,ResultValue:文件编号
     try
     {
         var    organizationApiProvider = new OrganizationApiProvider();
         string token = GetAdminToken();
         ResultEDocUserInfoList result = organizationApiProvider.GetChildUserListInGroup(token, groupId);
         if (result.Result != 0)
         {
             throw new Exception("GetChildUserListInGroup出错,result=" + result.Result);
         }
         return(result.UserInfoList.Select(item => item.UserId).ToList());
     }
     catch (Exception ex)
     {
         throw new Exception("GetChildUserListInGroup出现异常,exMessage=" + ex.Message);
     }
 }
        /// <summary>
        ///     判断token是否在登录状态
        /// </summary>
        /// <returns></returns>
        public static bool IsLogin(string token)
        {
            var organizationApiProvider = new OrganizationApiProvider();

            return(organizationApiProvider.IsLogin(token));
        }