Exemplo n.º 1
0
        public OrganizationUser[] GetOrganizationUsersPaged(int itemId, 
            string filterColumn, string filterValue,
            int maximumRows, int startRowIndex, string sortColumn)
        {
            if (!String.IsNullOrEmpty(filterValue))
                filterValue = filterValue + "%";
			if (maximumRows == 0)
			{
				maximumRows = Int32.MaxValue;
			}

            users = ES.Services.Organizations.GetOrganizationUsersPaged(itemId, filterColumn, filterValue, sortColumn, startRowIndex, maximumRows);

            return users.PageUsers;            
        }
        public static OrganizationUsersPaged GetOrganizationUsersPaged(int itemId, string filterColumn, string filterValue, string sortColumn,
			int startRow, int maximumRows)
        {

            #region Demo Mode
            if (IsDemoMode)
            {                                
                OrganizationUsersPaged res = new OrganizationUsersPaged();
                List<OrganizationUser> demoAccounts = SearchAccounts(1, "", "", "", true);
                
                OrganizationUser r1 = new OrganizationUser();
                r1.AccountId = 20;
                r1.AccountName = "room1_fabrikam";
                r1.AccountType = ExchangeAccountType.Room;
                r1.DisplayName = "Meeting Room 1";
                r1.PrimaryEmailAddress = "*****@*****.**";
                demoAccounts.Add(r1);
                
                OrganizationUser e1 = new OrganizationUser();
                e1.AccountId = 21;
                e1.AccountName = "projector_fabrikam";
                e1.AccountType = ExchangeAccountType.Equipment;
                e1.DisplayName = "Projector 1";
                e1.PrimaryEmailAddress = "*****@*****.**";
                demoAccounts.Add(e1);
                res.PageUsers = demoAccounts.ToArray();
                res.RecordsCount = res.PageUsers.Length;
                return res;
            }
            #endregion
            
            string accountTypes = string.Format("{0}, {1}, {2}, {3}", ((int)ExchangeAccountType.User), ((int)ExchangeAccountType.Mailbox), ((int)ExchangeAccountType.Room), ((int)ExchangeAccountType.Equipment));
            
            
            DataSet ds =
                DataProvider.GetExchangeAccountsPaged(SecurityContext.User.UserId, itemId, accountTypes, filterColumn,
                                                      filterValue, sortColumn, startRow, maximumRows);
           
            OrganizationUsersPaged result = new OrganizationUsersPaged();
            result.RecordsCount = (int)ds.Tables[0].Rows[0][0];

            List<OrganizationUser> accounts = new List<OrganizationUser>();
            ObjectUtils.FillCollectionFromDataView(accounts, ds.Tables[1].DefaultView);
            result.PageUsers = accounts.ToArray();
            return result;
        }