示例#1
0
 public Program()
 {
     _objDMS     = new ManDMS();
     _objSession = _objDMS.Sessions.Add(strServer);
     _objSession.Login(strUsername, strPassword);
     _objSession.MaxRowsForSearch = 1000;
     _objSession.MaxRowsNonSearch = 500;
     _objDatabase = _objSession.PreferredDatabase;
 }
示例#2
0
 public static string GetObjectId(ObjectType objectType, IManDatabase db, double objNum)
 {
     switch (objectType)
     {
         case ObjectType.File:
             return string.Format("{0}!{1}:{2},1:", db.ObjectID, objectType.ToEnumAttr<ObjectType, DescriptionAttribute>().Description, objNum);
         case ObjectType.Folder:
             return string.Format("{0}!{1}:{2}:", db.ObjectID, objectType.ToEnumAttr<ObjectType, DescriptionAttribute>().Description, objNum);
         case ObjectType.Workspace:
             return string.Format("{0}!{1}:{2}:", db.ObjectID, objectType.ToEnumAttr<ObjectType, DescriptionAttribute>().Description, objNum);
         default:
             return null;
     }
 }
示例#3
0
        public static string GetObjectId(ObjectType objectType, IManDatabase db, double objNum)
        {
            switch (objectType)
            {
            case ObjectType.File:
                return(string.Format("{0}!{1}:{2},1:", db.ObjectID, objectType.ToEnumAttr <ObjectType, DescriptionAttribute>().Description, objNum));

            case ObjectType.Folder:
                return(string.Format("{0}!{1}:{2}:", db.ObjectID, objectType.ToEnumAttr <ObjectType, DescriptionAttribute>().Description, objNum));

            case ObjectType.Workspace:
                return(string.Format("{0}!{1}:{2}:", db.ObjectID, objectType.ToEnumAttr <ObjectType, DescriptionAttribute>().Description, objNum));

            default:
                return(null);
            }
        }
示例#4
0
        //--V469-583-E

        public static List <WsModel> GetWs(string wsId = null, WsLoadType wsLoadType = WsLoadType.ALL, bool newSession = false, bool isAdmin = false)
        {
            IManWorkspaces imWss = null;

            List <WsModel> iLWsModel = new List <WsModel>();

            if (string.IsNullOrWhiteSpace(wsId))
            {
                IManDatabase imDb = null;

                //--V469-583-S
                //imDb = newSession ? ImSession.GetNewInstance.GetDb(ImDbType.Active) : ImSession.GetInstance.GetDb(ImDbType.Active);
                imDb = IManageSession.Db(ImDbType.Active);
                //--V469-583-E

                if (imDb == null)
                {
                    return(null);
                }

                imWss = imDb.Workspaces;

                foreach (IManWorkspace imWs in imWss)
                {
                    IManDocumentClass imDC = imWs.SubClass;

                    if (imDC != null)
                    {
                        if (imDC.Name == "EAUDIT ENGAGEMENT" || imDC.Name == "AUDIT")
                        {
                            iLWsModel.Add(new WsModel
                            {
                                IsLoaded    = false,
                                Description = imWs.Description,
                                Name        = imWs.Name,
                                ObjectID    = imWs.ObjectID,
                                Owner       = WsUtility.GetWsUser(imWs.Owner),
                                SubType     = imWs.SubType,
                                WorkspaceID = imWs.WorkspaceID,

                                WsProfile = null,
                                WsFldrs   = null,
                                WsGroups  = null
                            });
                        }
                    }
                }
            }
            else if (wsLoadType == WsLoadType.None)
            {
                IManWorkspace imWs = null;

                iLWsModel.Add(GetWs(wsId, out imWs, WsLoadType.None, newSession, isAdmin: isAdmin));
            }
            else
            {
                IManWorkspace imWs = null;

                iLWsModel.Add(GetWs(wsId, out imWs, WsLoadType.ALL, newSession, isAdmin: isAdmin));
            }

            return(iLWsModel);
        }
示例#5
0
        public static List <WsUser> SearchUsr(string searchStr, UsrSearchBy usrSearchBy, bool isExactSrch = false, ImDbType imDbType = ImDbType.Active)
        {
            //--V469-583-S
            //IManDatabase imDb = ImSession.GetInstance.GetDb(imDbType);
            IManDatabase imDb = IManageSession.Db(imDbType);
            //--V469-583-E

            IManUsers imUsrs            = null;
            bool      srchIncludeDomain = false;

            List <WsUser> wsUsrs = new List <WsUser>();

            if (usrSearchBy == UsrSearchBy.Name)
            {
                //if (isExactSrch)
                //{
                //    imUsrs = imDb.SearchUsers(searchStr, imSearchAttributeType.imSearchExactMatch, true);
                //}
                //else
                //{
                //    imUsrs = imDb.SearchUsers(searchStr, imSearchAttributeType.imSearchFullName, true);
                //}

                imUsrs = imDb.SearchUsers(searchStr, imSearchAttributeType.imSearchFullName, true);
            }
            else if (usrSearchBy == UsrSearchBy.Email)
            {
                var spEmail = searchStr.Split('@');
                if (spEmail.Length == 1)
                {
                    //searchStr = email;
                }
                else if (spEmail.Length == 2)
                {
                    if (string.IsNullOrWhiteSpace(spEmail[1]) ||
                        spEmail[1].StartsWith("kpmg", StringComparison.OrdinalIgnoreCase) ||
                        spEmail[1].StartsWith("kpmg.com", StringComparison.OrdinalIgnoreCase))
                    {
                        srchIncludeDomain = true;
                        searchStr         = spEmail[0];
                    }
                    else
                    {
                        //searchStr = email;
                    }
                }
                else
                {
                    //searchStr = email;
                }

                //if (isExactSrch)
                //{
                //    imUsrs = imDb.SearchUsers(searchStr, imSearchAttributeType.imSearchExactMatch, true);
                //}
                //else
                //{
                //    imUsrs = imDb.SearchUsers(searchStr, imSearchAttributeType.imSearchID, true);
                //}

                imUsrs = imDb.SearchUsers(searchStr, imSearchAttributeType.imSearchID, true);
            }

            if (imUsrs != null)
            {
                if (usrSearchBy == UsrSearchBy.Name)
                {
                    if (isExactSrch)
                    {
                        foreach (IManUser imUsr in imUsrs)
                        {
                            var spFullName = searchStr.Split(',');

                            if (spFullName[0].Equals(imUsr.FullName.SplitNGet(',', 0), StringComparison.OrdinalIgnoreCase))
                            {
                                wsUsrs.Add(IM.Mgr.WsUtility.GetWsUser(imUsr));
                            }
                        }
                    }
                    else
                    {
                        foreach (IManUser imUsr in imUsrs)
                        {
                            wsUsrs.Add(IM.Mgr.WsUtility.GetWsUser(imUsr));
                        }
                    }
                }
                else if (usrSearchBy == UsrSearchBy.Email)
                {
                    if (isExactSrch)
                    {
                        foreach (IManUser imUsr in imUsrs)
                        {
                            if (imUsr.Name.Equals(searchStr, StringComparison.OrdinalIgnoreCase))
                            {
                                wsUsrs.Add(IM.Mgr.WsUtility.GetWsUser(imUsr));
                            }
                        }
                    }
                    else
                    {
                        if (srchIncludeDomain)
                        {
                            foreach (IManUser imUsr in imUsrs)
                            {
                                if (imUsr.Name.Equals(searchStr, StringComparison.OrdinalIgnoreCase))
                                {
                                    wsUsrs.Add(IM.Mgr.WsUtility.GetWsUser(imUsr));
                                }
                            }
                        }
                        else
                        {
                            foreach (IManUser imUsr in imUsrs)
                            {
                                wsUsrs.Add(IM.Mgr.WsUtility.GetWsUser(imUsr));
                            }
                        }
                    }
                }

                //foreach (IManUser imUsr in imUsrs)
                //{
                //    if(srchIncludeDomain)
                //    {
                //        if(imUsr.Name.Equals(searchStr, StringComparison.OrdinalIgnoreCase))
                //        {
                //            wsUsrs.Add(IM.Mgr.WsUtility.GetWsUser(imUsr));
                //        }
                //    }
                //    else
                //    {
                //        wsUsrs.Add(IM.Mgr.WsUtility.GetWsUser(imUsr));
                //    }
                //}
            }

            return(wsUsrs);
        }