public void UserCompare_Tests() { List <UserBase> oUserBaseList; var res = UserBase.GetUsers(_connectionServer, out oUserBaseList, 1, 5, null); Assert.IsTrue(res.Success, "GetUsers failed"); //hit a couple of the list sorting entries UserComparer oCompareer = new UserComparer("DTMFAccessID"); oUserBaseList.Sort(oCompareer); oCompareer = new UserComparer("Alias"); oUserBaseList.Sort(oCompareer); oCompareer = new UserComparer("FirstName"); oUserBaseList.Sort(oCompareer); oCompareer = new UserComparer("LastName"); oUserBaseList.Sort(oCompareer); oCompareer = new UserComparer("LastName"); oUserBaseList.Sort(oCompareer); //defaults to alias oCompareer = new UserComparer("bogus"); oUserBaseList.Sort(oCompareer); }
public void GetAllUsersTest() { var userController = new UserController() { Request = new HttpRequestMessage { Method = HttpMethod.Get, RequestUri = new Uri(ServiceBaseURL) } }; userController.Request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration()); _response = userController.Get(); var responseResultSearch = JsonConvert.DeserializeObject <List <User> >(_response.Content.ReadAsStringAsync().Result); var userList = responseResultSearch.Select( userEntity => new User { User_ID = userEntity.User_ID, First_Name = userEntity.First_Name, Last_Name = userEntity.Last_Name, Employee_ID = userEntity.Employee_ID, Project_ID = userEntity.Project_ID, Task_ID = userEntity.Task_ID }).ToList(); Assert.AreEqual(_response.StatusCode, HttpStatusCode.OK); Assert.AreEqual(userList.Any(), true); var comparer = new UserComparer(); CollectionAssert.AreEqual(userList.OrderBy(user => user, comparer), _users.OrderBy(user => user, comparer), comparer); }
public void GetAllUserTest() { var users = _userService.GetAllUsers(); var userList = users.Select( userEntity => new User { User_ID = userEntity.User_ID, First_Name = userEntity.First_Name, Last_Name = userEntity.Last_Name, Employee_ID = userEntity.Employee_ID, Project_ID = userEntity.Project_ID, Task_ID = userEntity.Task_ID }).ToList(); var comparer = new UserComparer(); CollectionAssert.AreEqual( userList.OrderBy(user => user, comparer), _user.OrderBy(user => user, comparer), comparer); }
// 为淘汰算法进行排序 public List <User> SortRecentUse() { // 复制出对象 List <User> aItem = new List <User>(); // 加读锁 this.m_lock.AcquireReaderLock(m_nTimeOut); try { aItem.AddRange(this); } finally { this.m_lock.ReleaseReaderLock(); } UserComparer comp = new UserComparer(); aItem.Sort(comp); return(aItem); }
private List <User> GetTop(int topCount, TopSortParam sortParam = TopSortParam.SortByMaxScore) { List <User> users = db.Users.ToList(); UserComparer comparer = null; switch (sortParam) { case TopSortParam.SortByMaxScore: comparer = new UserScoreComparer(); break; case TopSortParam.SortByMaxLevel: comparer = new UserLevelComparer(); break; } users.Sort(comparer); if (topCount > users.Count) { topCount = users.Count; } return(users.GetRange(0, topCount)); }
public void GetUserPages() { using (var client = CreateClient()) { var count = client.GetUsersCount(); Assert.GreaterOrEqual(count, client.DefaultPageSize); var expected = count % client.DefaultPageSize; var pageNumber = 1 + count / client.DefaultPageSize; var firstPage = client.GetUsers().ToList(); Assert.IsNotNull(firstPage); Assert.AreEqual(client.DefaultPageSize, firstPage.Count); var secondPage = client.GetUsers(pageNumber).ToList(); Assert.IsNotNull(secondPage); Assert.AreEqual(expected, secondPage.Count); var comparer = new UserComparer(); var result = firstPage.Union(secondPage, comparer); Assert.AreEqual(client.DefaultPageSize + expected, result.Count()); } }
// 为淘汰算法进行排序 public List <User> SortRecentUse(CancellationToken token) { // 复制出对象 List <User> aItem = new List <User>(); // 加读锁 this.m_lock.AcquireReaderLock(m_nTimeOut); try { aItem.AddRange(this); } finally { this.m_lock.ReleaseReaderLock(); } token.ThrowIfCancellationRequested(); UserComparer comp = new UserComparer(); aItem.Sort(comp); return(aItem); }
public iFolderUser[] GetDomainUsers(string DomainID, int numUsers) { int userCount = 0; ArrayList members = new ArrayList(); Domain domain = Store.GetStore().GetDomain( DomainID ); if( domain == null ) { throw new SimiasException( "Invalid domain ID " ); } ICSList memberList = domain.GetMemberList(); foreach( ShallowNode sNode in memberList ) { if ( sNode.Type.Equals( "Member" ) ) { if( numUsers != -1 && ++userCount > numUsers ) { members.Clear(); break; } members.Add( new iFolderUser( domain, new Member( domain, sNode ) ) ); } } if ( members.Count > 0 ) { UserComparer comparer = new UserComparer(); members.Sort( 0, members.Count, comparer ); } return ( iFolderUser[] )( members.ToArray( typeof( iFolderUser ) ) ); }
public iFolderUser[] SearchForDomainUsers(string DomainID, string SearchString) { ArrayList members = new ArrayList(); Hashtable matches = new Hashtable(); Domain domain = Store.GetStore().GetDomain( DomainID ); if( domain == null ) { throw new SimiasException( "Invalid domain ID " ); } ICSList searchList = domain.Search( PropertyTags.FullName, SearchString, SearchOp.Begins ); foreach( ShallowNode sNode in searchList ) { if ( sNode.Type.Equals( "Member" ) ) { Member member = new Member( domain, sNode ); matches.Add( sNode.ID, member ); members.Add( new iFolderUser( domain, member ) ); } } searchList = domain.Search( PropertyTags.Family, SearchString, SearchOp.Begins ); foreach( ShallowNode sNode in searchList ) { if ( sNode.Type.Equals( "Member" ) ) { if ( matches.Contains( sNode.ID ) == false ) { members.Add( new iFolderUser( domain, new Member( domain, sNode ) ) ); matches.Add( sNode.ID, null ); } } } searchList = domain.Search( BaseSchema.ObjectName, SearchString, SearchOp.Begins ); foreach( ShallowNode sNode in searchList ) { if ( sNode.Type.Equals( "Member" ) ) { if ( matches.Contains( sNode.ID ) == false ) { members.Add( new iFolderUser( domain, new Member( domain, sNode ) ) ); matches.Add( sNode.ID, null ); } } } if ( members.Count > 0 ) { UserComparer comparer = new UserComparer(); members.Sort( 0, members.Count, comparer ); } return ( iFolderUser[] )( members.ToArray( typeof( iFolderUser ) ) ); }
public iFolderUser[] GetiFolderUsers(string iFolderID) { ArrayList members = new ArrayList(); ICSList memberList; Store store = Store.GetStore(); Collection col = store.GetCollectionByID(iFolderID); if(col == null) throw new SimiasException("Invalid iFolderID"); Simias.Storage.Domain domain = store.GetDomain( col.Domain ); if ( domain == null ) { throw new SimiasException( "iFolderID isn't linked to a valid domain " ); } memberList = col.GetMemberList(); foreach( ShallowNode sNode in memberList ) { if ( sNode.Type.Equals( "Member" ) ) { members.Add( new iFolderUser( domain, new Member( col, sNode ) ) ); } } POBox poBox; try { poBox = Simias.POBox.POBox.FindPOBox(store, col.Domain, store.GetUserIDFromDomainID(col.Domain)); } catch (Exception ex) { poBox = null; } if (poBox != null) { ICSList poList = poBox.Search( Subscription.SubscriptionCollectionIDProperty, col.ID, SearchOp.Equal); foreach (ShallowNode sNode in poList) { Subscription sub = new Subscription(poBox, sNode); if (sub.SubscriptionState == SubscriptionStates.Ready) { if (poBox.StoreReference.GetCollectionByID( sub.SubscriptionCollectionID) != null) { continue; } } members.Add(new iFolderUser(sub)); } } if (members.Count > 0) { UserComparer comparer = new UserComparer(); members.Sort(0, members.Count, comparer); } return (iFolderUser[])(members.ToArray(typeof(iFolderUser))); }
public static List <CampaignLog> ProcessXmlFilter(Guid CampaignId, string trackKey, int attemp, string xmlFilter, int portalId) { List <CampaignLog> listResult = new List <CampaignLog>(); MailContainer mailContainer; try { mailContainer = new MailContainer(); XmlSerializer serializer = new XmlSerializer(mailContainer.GetType()); MemoryStream memoryStream = new MemoryStream(Encoding.ASCII.GetBytes(xmlFilter)); mailContainer = (MailContainer)serializer.Deserialize(memoryStream); StringBuilder queryPotentialUser = new StringBuilder(); StringBuilder queryUser = new StringBuilder(); StringBuilder queryOrganization = new StringBuilder(); StringBuilder querySolution = new StringBuilder(); MIFNEXSOEntities ent = new MIFNEXSOEntities(); foreach (MailFilter mailFilter in mailContainer.MailFilter) { switch (mailFilter.Table) { case "PotentialUsers": { switch (mailFilter.Field) { case "Country": { queryPotentialUser.Append(GetSqlClause(mailFilter)); break; } case "Language": { queryPotentialUser.Append(GetSqlClause(mailFilter)); break; } case "Source": { queryPotentialUser.Append(GetSqlClause(mailFilter)); break; } } break; } case "UserProperties": { switch (mailFilter.Field) { case "Country": { queryUser.Append(GetSqlClause(mailFilter)); break; } case "Language": { queryUser.Append(GetSqlClause(mailFilter)); break; } //case "CustomerType": // { // break; // } case "[AllowNexsoNotifications]": { if (mailFilter.FilterValue.Count > 0) { if (mailFilter.FilterValue[0] == "1") { queryUser.Append(GetSqlClause(mailFilter)); } } break; } } break; } case "UserPropertiesLists": { switch (mailFilter.Field) { case "[Key]": { queryUser.Append(GetSqlClause(mailFilter)); break; } } break; } case "Organization": { switch (mailFilter.Field) { case "Country": { queryOrganization.Append(GetSqlClause(mailFilter)); break; } } break; } case "Solution": { switch (mailFilter.Field) { case "Language": { querySolution.Append(GetSqlClause(mailFilter)); break; } case "ChallengeReference": { querySolution.Append(GetSqlClause(mailFilter)); break; } case "SolutionState": { querySolution.Append(GetSqlClause(mailFilter)); break; } case "FUNC:GetScore(Solution.SolutionId,'JUDGE')": { querySolution.Append(GetSqlClause(mailFilter)); break; } case "FUNC:WordCount(Solution.SolutionId)": { querySolution.Append(GetSqlClause(mailFilter)); break; } } break; } } } foreach (MailFilter mailFilter in mailContainer.MailFilter) { switch (mailFilter.Table) { case "&&1": { switch (mailFilter.Field) { case "UsePotentialUser": { if (mailFilter.FilterValue[0] == "0") { queryPotentialUser = null; } break; } case "UseUser": { if (mailFilter.FilterValue[0] == "0") { queryUser = null; } break; } case "UseOrganization": { if (mailFilter.FilterValue[0] == "0") { queryOrganization = null; } break; } case "UseSolution": { if (mailFilter.FilterValue[0] == "0") { querySolution = null; } break; } } break; } } } List <UserProperty> queryPotentialUserEntity = null; IEnumerable <PotentialUser> queryPotentialUserEntityInt = null; IEnumerable <UserProperty> querySolutionEntity = null; IEnumerable <UserProperty> queryUserEntity = null; IEnumerable <UserProperty> queryOrganizationEntity = null; if (queryPotentialUser != null) { queryPotentialUser.Insert(0, " SELECT * FROM POTENTIALUSERS" + " where 1=1 "); queryPotentialUserEntityInt = ent.ExecuteStoreQuery <PotentialUser>(queryPotentialUser.ToString()); queryPotentialUserEntity = new List <UserProperty>(); foreach (var item in queryPotentialUserEntityInt) { queryPotentialUserEntity.Add(new UserProperty() { email = item.Email, FirstName = item.FirstName, LastName = item.LastName } ); } } if (queryUser != null) { queryUser.Insert(0, " SELECT UserProperties.* " + " FROM UserProperties left JOIN UserPropertiesLists ON UserProperties.UserId = UserPropertiesLists.UserPropertyId" + " where 1=1 "); queryUserEntity = ent.ExecuteStoreQuery <UserProperty>(queryUser.ToString()); } if (queryOrganization != null) { queryOrganization.Insert(0, " SELECT UserProperties.* " + " FROM Organization INNER JOIN UserOrganization ON Organization.OrganizationID = UserOrganization.OrganizationID " + " INNER JOIN UserProperties ON UserOrganization.UserID = UserProperties.UserId" + " where 1=1 "); queryOrganizationEntity = ent.ExecuteStoreQuery <UserProperty>(queryOrganization.ToString()); } if (querySolution != null) { querySolution.Insert(0, " SELECT UserProperties.* FROM Solution INNER JOIN UserProperties ON Solution.CreatedUserId = UserProperties.UserId " + " where 1=1 "); querySolutionEntity = ent.ExecuteStoreQuery <UserProperty>(querySolution.ToString()); } IEnumerable <UserProperty> resultfinal = queryUserEntity; if (queryOrganizationEntity != null) { if (resultfinal == null) { resultfinal = queryOrganizationEntity; } else { resultfinal = resultfinal.Concat(queryOrganizationEntity); } } if (querySolutionEntity != null) { if (resultfinal == null) { resultfinal = querySolutionEntity; } else { resultfinal = resultfinal.Concat(querySolutionEntity); } } if (queryPotentialUserEntity != null) { if (resultfinal == null) { resultfinal = queryPotentialUserEntity; } else { resultfinal = resultfinal.Concat(queryPotentialUserEntity); } } CampaignComponent campaign = new CampaignComponent(CampaignId); if (mailContainer.UserProperty.Count > 0) { if (resultfinal == null) { resultfinal = mailContainer.UserProperty; } else { resultfinal = resultfinal.Concat(mailContainer.UserProperty).ToList(); } } if (resultfinal != null) { var comparer = new UserComparer(); foreach (var item in resultfinal.Distinct(comparer).ToList()) { try { var user = UserController.GetUserById(portalId, item.UserId); listResult.Add(getCampaignLog(campaign, item, user)); } catch (Exception) { } } } } catch (Exception) { } return(listResult); }
private void AddUserAction() { _parentModel.IsError = false; AddUserDialog dialog = new AddUserDialog(_parentModel._siteURL, _parentModel._log); dialog.Closed += (s, e) => { AddUserDialog d = (AddUserDialog)s; if ((d.DialogResult.HasValue) && (d.DialogResult.Value)) { _parentModel.IsBusy = true; ClientUtility.PrincipalInfo user = ((AddUserDialogViewModel)d.DataContext).UserFound; User verifyUser = new User() { Name = user.JobTitle, AccountName = user.LoginName, IsEnabled = false, IsSelected = false }; UserComparer comparer = new UserComparer(); if (!GroupUsers.Contains(verifyUser, comparer)) { SCOM.UserCreationInformation addUser = new Microsoft.SharePoint.Client.UserCreationInformation(); addUser.Title = user.JobTitle; addUser.LoginName = user.LoginName; addUser.Email = user.Email; _parentModel.UserGroupServiceAgent.AddUser(_parentModel.SelectedSearchedGroup.Id, addUser, (result, ie) => { _dispatcher.BeginInvoke(new Action(() => { if (result == false) { _parentModel.IsError = true; _parentModel.ErrorMessage = Logger.BuildLogMessageForUser(ie, "Add User Failed!"); _parentModel.IsBusy = false; } else { GroupUsersCommand.Execute(null); } })); }); } else { _parentModel.IsBusy = false; _parentModel.IsError = true; _parentModel.ErrorMessage = "User Already Exist."; } } }; dialog.Show(); }