Esempio n. 1
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);
        }
Esempio n. 2
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);
        }