コード例 #1
0
        public ICollection <string> GetUsersInGroup(MFilesVault vault, string groupName)
        {
            var ovault = MFServerUtility.GetVault(vault);
            var group  = GetGroupByName(ovault, groupName, vault.Id);

            return(GetUsersInGroup(ovault, group.GroupId));
        }
コード例 #2
0
ファイル: utility.cs プロジェクト: weijx-xa/test
        public static Vault GetVault(MFilesVault vault)
        {
            var app    = ConnectToMfApp(vault);
            var mVault = app.LogInToVault(vault.Guid);

            return(mVault);
        }
コード例 #3
0
        public ICollection <string> GetUsersInGroup(MFilesVault vault, int groupId)
        {
            var ovault = MFServerUtility.GetVault(vault);
            var users  = GetUsersFromGroup(ovault, groupId);

            return(users.Select(uid => ovault.UserOperations.GetUserAccount(uid)).Select(la => MfUserUtils.GetUserNameWithoutDomain(la.LoginName)).ToList());
        }
コード例 #4
0
ファイル: utility.cs プロジェクト: weijx-xa/test
        public static MFilesServerApplication ConnectToMfApp(MFilesVault vault)
        {
            var server = vault.Server;
            var app    = ConnectToServer(server.AdminName, server.AdminPwd, GetVaultServerLocalIp(vault.Server), vault.Server.ServerPort);

            return(app);
        }
コード例 #5
0
        public ICollection <string> GetUsersInGroupByAlias(MFilesVault vault, string groupAlias)
        {
            var ovault  = MFServerUtility.GetVault(vault);
            var groupId = MfAlias.GetUsergroup(ovault, groupAlias);

            return(GetUsersInGroup(ovault, groupId));
        }
コード例 #6
0
        /// <summary>
        /// 是否为项目经理角色,不限参与方
        /// </summary>
        /// <param name="vault"></param>
        /// <returns></returns>
        protected internal MFilesUserGroup GetUserProjectManagerGroup(MFilesVault vault)
        {
            var userName  = GetUserName();
            var groups    = _mfusergroupService.GetGroupsByUser(vault, userName);
            var isManager = groups.FirstOrDefault(c => c.Name.Contains(ProjectRoleConstants.ProjectManager));

            return(isManager);
        }
コード例 #7
0
ファイル: MFVaultService.cs プロジェクト: weijx-xa/test
        public void CreateForAllBackup(MFilesVault vault, string templateRootPath,
                                       string impersonationUserName, string impersonationPassword, MFSqlDatabase sqlDb = null, string vaultIndexRootPath = null)
        {
            var app = MFServerUtility.ConnectToMfApp(vault);

            CreateForAllBackup(app, vault, templateRootPath, impersonationUserName, impersonationPassword, sqlDb,
                               vaultIndexRootPath);
        }
コード例 #8
0
        public void AddUserToGroup(MFilesVault vault, string userName, string groupName)
        {
            var ovault  = MFServerUtility.GetVault(vault);
            var groupId = GetGroupId(ovault, groupName);
            var userId  = GetUserId(ovault, userName);

            AddUserToGroup(ovault, userId, groupId);
        }
コード例 #9
0
 public void InsertVault(MFilesVault vault)
 {
     if (vault == null)
     {
         throw new ArgumentNullException("vault");
     }
     _vaultRepo.Insert(vault);
 }
コード例 #10
0
        public void RenameGroupName(MFilesVault vault, int groupId, string newName)
        {
            var ovault = MFServerUtility.GetVault(vault);
            var uga    = ovault.UserGroupOperations.GetUserGroupAdmin(groupId);

            uga.UserGroup.Name = newName;
            ovault.UserGroupOperations.UpdateUserGroupAdmin(uga);
        }
コード例 #11
0
 public void DeleteVault(MFilesVault vault)
 {
     if (vault == null)
     {
         throw new ArgumentNullException("vault");
     }
     _vaultRepo.Delete(vault);
 }
コード例 #12
0
ファイル: MFVaultService.cs プロジェクト: weijx-xa/test
        public void Create(MFilesVault vault, string templateRootPath,
                           string impersonationUserName, string impersonationPassword, MFSqlDatabase sqlDb = null, string vaultIndexRootPath = null, bool fullBackupOrStructure = false)
        {
            var app = MFServerUtility.ConnectToMfApp(vault);

            Create(app, vault, templateRootPath, impersonationUserName, impersonationPassword, sqlDb,
                   vaultIndexRootPath, fullBackupOrStructure);
        }
コード例 #13
0
ファイル: MFObjectService.cs プロジェクト: weijx-xa/test
        public int GetObjectVersion(MFilesVault vault, int objType, int objId)
        {
            var mfVault = MFServerUtility.GetVault(vault);
            var objID   = new ObjID();

            objID.SetIDs(objType, objId);
            var objVer = mfVault.ObjectOperations.GetLatestObjVer(objID, false, false);

            return(objVer.Version);
        }
コード例 #14
0
ファイル: MFVaultService.cs プロジェクト: weijx-xa/test
        public void ChangeVaultName(MFilesVault vault)
        {
            var app   = MFServerUtility.ConnectToMfApp(vault);
            var props = app.VaultManagementOperations.GetVaultProperties(vault.Guid);

            props.DisplayName = vault.Name;
            var mfVault = app.LogInToVault(vault.Guid);

            mfVault.ManagementOperations.UpdateVaultProperties(props);
        }
コード例 #15
0
ファイル: MFObjectService.cs プロジェクト: weijx-xa/test
        public void Create <T>(MFilesVault vault, MetadataAliases aliases, T entity) where T : InternalEntity
        {
            // Writelog("in mfs.mfos.create 11");
            var projObj = GetMFObject(vault, aliases, entity);

            // Writelog("in mfs.mfos.create 22");
            Create(vault, projObj);
            //  Writelog("in mfs.mfos.create 33");
            entity.InternalId = projObj.Id;
        }
コード例 #16
0
        public void AddUserToGroup(MFilesVault vault, string userName, params int[] groupIds)
        {
            var ovault = MFServerUtility.GetVault(vault);
            var userId = GetUserId(ovault, userName);

            foreach (var groupId in groupIds)
            {
                AddUserToGroup(ovault, userId, groupId);
            }
        }
コード例 #17
0
        public ICollection <MFilesUserGroup> GetUserGroups(MFilesVault vault, bool includeInternalGroup = false)
        {
            var mfVault = MFServerUtility.GetVault(vault);
            var groups  = mfVault.UserGroupOperations.GetUserGroupsAdmin();

            if (includeInternalGroup)
            {
                return((from UserGroupAdmin uga in groups select ConvertTo(uga, vault.Id)).ToList());
            }
            return((from UserGroupAdmin uga in groups where !uga.UserGroup.Predefined select ConvertTo(uga, vault.Id)).ToList());
        }
コード例 #18
0
ファイル: MFVaultService.cs プロジェクト: weijx-xa/test
 internal static bool HasVault(MFilesServerApplication app, MFilesVault vault)
 {
     foreach (VaultOnServer vos in app.GetVaults())
     {
         if (vos.GUID == vault.Guid || vos.Name == vault.Name)
         {
             return(true);
         }
     }
     return(false);
 }
コード例 #19
0
        public void DisableVaultUser(string userName, MFilesVault vault)
        {
            var mVault = MFServerUtility.GetVault(vault);

            if (!HasVaultUser(userName, vault))
            {
                Log.Error(string.Format("用户({0})不存在于vault({1}),vaultname={2},中!", userName, vault.Guid, mVault.Name));
                return;
            }
            MfUserUtils.DisableVaultUser(mVault, userName);
        }
コード例 #20
0
        public ICollection <MFilesUserGroup> GetUserGroupsContainsString(MFilesVault vault, string groupStr)
        {
            var mfVault = MFServerUtility.GetVault(vault);
            var groups  = mfVault.UserGroupOperations.GetUserGroupsAdmin();
            var list    = (from UserGroupAdmin uga in groups
                           where !uga.UserGroup.Predefined && uga.UserGroup.Name.Contains(groupStr) && uga.UserGroup.Name != groupStr
                           select ConvertTo(uga, vault.Id)).ToList();

            list.Sort();
            return(list);
        }
コード例 #21
0
ファイル: MFVaultService.cs プロジェクト: weijx-xa/test
        public bool UninstallApps(MFilesVault vault)
        {
            var ovault = MFServerUtility.GetVault(vault);
            var apps   = ovault.CustomApplicationManagementOperations.GetCustomApplications();

            foreach (CustomApplication ca in apps)
            {
                ovault.CustomApplicationManagementOperations.UninstallCustomApplication(ca.ID);
            }
            return(true);
        }
コード例 #22
0
        public void EnableVaultUser(string userName, MFilesVault vault)
        {
            var mVault = MFServerUtility.GetVault(vault);

            if (!HasVaultUser(userName, vault))
            {
                var err = string.Format("用户{0}不存在于vault{1},vaultname={2},中!", userName, vault.Guid, mVault.Name);
                Log.Error(err);
                throw new Exception(err);
            }
            MfUserUtils.EnableVaultUser(mVault, userName);
        }
コード例 #23
0
ファイル: MFObjectService.cs プロジェクト: weijx-xa/test
        public MfContact GetContact(MFilesVault vault, MetadataAliases aliases, string userName)
        {
            var mfVault = MFServerUtility.GetVault(vault);
            var userId  = MfUserUtils.GetUserAccount(mfVault, userName);

            if (userId == null)
            {
                return(null);
            }
            var uid = userId.Value; //userid

            return(GetContactByUserId(mfVault, aliases, uid));
        }
コード例 #24
0
 private void CreateVaultForAllBackup(MFilesVault vault, VaultTemplate template, MFSqlDatabase sqlDb, IMFVaultService _vaultService)
 {
     //3. 创建相应的M-Files库
     try
     {
         _vaultService.CreateForAllBackup(vault, template.StructurePath, textBoxuser.Text, textBoxpass.Text, sqlDb, null);
     }
     catch (Exception ex)
     {
         //  Log.Error("创建项目库失败:" + ex.Message, ex);
         throw;
     }
 }
コード例 #25
0
ファイル: MFObjectService.cs プロジェクト: weijx-xa/test
        internal void Create(MFilesVault vault, MFObject obj)
        {
            var mfVault = MFServerUtility.GetVault(vault);

            try
            {
                Create(mfVault, obj);
            }
            catch (Exception ex)
            {
                throw new Exception(obj.ToString(), ex);
            }
        }
コード例 #26
0
ファイル: MFVaultService.cs プロジェクト: weijx-xa/test
 public bool HasUser(User user, string password, MFilesVault vault)
 {
     try
     {
         var serverApp = MFServerUtility.ConnetToMfApp(user, password, vault.Server);
         var mfvault   = serverApp.LogInToVault(vault.Guid);
         return(mfvault != null);
     }
     catch
     {
         return(false);
     }
 }
コード例 #27
0
        /// <summary>
        /// 是否为创建项目的参与方的项目经理
        /// </summary>
        /// <param name="vault"></param>
        /// <returns></returns>
        protected static internal bool IsCreateProjectManager(MFilesVault vault, string userName, IMfUserGroupService mfusergroupService, IVaultTemplateService vautTempService)
        {
            //var userName = GetUserName();
            var mgrGroup = ProjectRoleConstants.ProjectManager;
            var groups   = mfusergroupService.GetGroupsByUser(vault, userName);
            var template = GetTemplateByTempId(vautTempService, vault.TemplateId);
            var tempDto  = template.ToDto();

            if (tempDto.HasParty)
            {
                return(groups.Any(c => c.Name == mgrGroup) && groups.Any(c => c.Name == "项目创建者"));
            }
            return(groups.Any(c => c.Name == mgrGroup));
        }
コード例 #28
0
ファイル: MFVaultService.cs プロジェクト: weijx-xa/test
        public bool ImportApp(string zipPath, MFilesVault vault)
        {
            var zipDirectory = new DirectoryInfo(zipPath);
            var ovault       = MFServerUtility.GetVault(vault);

            foreach (var di in zipDirectory.GetDirectories())
            {
                var targetPath = Path.Combine(Path.GetTempPath(), di.Name + ".zip");
                var zip        = new ZipFile();
                zip.AddSelectedFiles("name!=*.zip and name!=*.pdb and name!=*.log", di.FullName, di.Name, true);
                zip.Save(targetPath);
                ImportApp(targetPath, ovault);
            }
            return(true);
        }
コード例 #29
0
ファイル: MFObjectService.cs プロジェクト: weijx-xa/test
 public MFObject GetMFObject <T>(MFilesVault vault, MetadataAliases aliases, T entity) where T : InternalEntity
 {
     if (entity is Project)
     {
         //var config = VaultConfig.GetConfigFromString(vault.Template.MetadataJson);
         var projObj = aliases.GetMfProject(entity as Project);// config.GetMfProjectObject(entity as Project);
         return(projObj);
     }
     if (entity is MfContact)
     {
         var mfVault    = MFServerUtility.GetVault(vault);
         var contactObj = aliases.GetMfContact(mfVault, entity as MfContact);
         return(contactObj);
     }
     return(null);
 }
コード例 #30
0
 public static VaultDto ToDtoWithoutTemplate(this MFilesVault vault)
 {
     if (vault == null)
     {
         return(null);
     }
     return(new VaultDto
     {
         CreatedTimeUtc = vault.CreatedTimeUtc,
         Description = vault.Description,
         Guid = vault.Guid,
         Id = vault.Id,
         Name = vault.Name,
         Server = ToDto(vault.Server)
     });
 }