Example #1
0
        SearchUserResponse IAdminUserService.GetSearchUsersBy(UsersSearchRequest req)
        {
            var resp = new SearchUserResponse();
            IEnumerable <User>         users = new List <User>();
            IList <Func <User, bool> > ps    = new List <Func <User, bool> >();

            try
            {
                DealWithContainsUserName(req, ps);
                DealWithEqualsUserStateId(req, ps);
                var numberOfResultsPrePage = ApplicationSettingsFactory.GetApplicationSettings().NumberOfResultsPrePage;//获取每页记录数
                users = _userDAL.FindBy(ps, req.CurrentPageIndex, numberOfResultsPrePage);

                if (HasNoSearchResult(users))
                {
                    resp.Message = NoRecordsMessage;
                }
                else
                {
                    resp.TotalResultCount = _userDAL.GetCountByContains(ps);
                    resp.Users            = users.ConvertToUsersInfoViewList();
                    resp.Succeed          = true;
                }
            }
            catch (Exception ex)
            {
                resp.Message = "搜索用户列表信息发生错误";
                Log(ex);
            }
            return(resp);
        }
Example #2
0
        private void BindDropDownData()
        {
            SearchUsersRequest requestUser = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            requestUser.IsSunnet = true;
            requestUser.IsActive = true;
            SearchUserResponse responseuser = userApp.SearchUsers(requestUser);

            ddlOwner.DataSource = responseuser.ResultList.FindAll(r => r.Office == "CN");
            ddlOwner.DataBind();

            ddlApprover.DataSource = responseuser.ResultList.FindAll(r => r.Role == RolesEnum.ADMIN);
            ddlApprover.DataBind();
            ListItem liApprover = ddlApprover.Items.FindByValue(Config.SealApprover.ToString());

            if (liApprover == null)
            {
                UsersEntity usersEntity = userApp.GetUser(Config.SealApprover);
                ddlApprover.Items.Insert(0, new ListItem()
                {
                    Value = usersEntity.UserID.ToString(), Text = usersEntity.FirstName
                });
            }
        }
Example #3
0
        private void InitControls()
        {
            DateTime date = DateTime.Now.AddMonths(-1);

            ProjectApplication projApp = new ProjectApplication();

            List <ProjectDetailDTO> list = projApp.GetAllProjects();

            list.BindDropdown <ProjectDetailDTO>(ddlProject, "Title", "ID", "All", "0");

            ddlTickets.Items.Add(new ListItem("All", "0"));

            UserApplication    userApp     = new UserApplication();
            SearchUsersRequest requestUser = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            requestUser.IsSunnet = true;
            SearchUserResponse responseuser = userApp.SearchUsers(requestUser);

            ddlUsers.Items.Add(new ListItem("All", "0"));
            foreach (UsersEntity user in responseuser.ResultList)
            {
                ddlUsers.Items.Add(new ListItem(string.Format("{0} {1}", user.FirstName, user.LastName)
                                                , user.ID.ToString()));
            }
        }
Example #4
0
        /// <summary>
        /// 初始化搜索 条件
        /// </summary>
        private void InitSearchControls()
        {
            DateTime                date    = DateTime.Now.AddMonths(-1);
            ProjectApplication      projApp = new ProjectApplication();
            List <ProjectDetailDTO> listAll = projApp.GetAllProjects().Where(c => c.Title == "0_PTO").ToList();

            listAll.BindDropdown <ProjectDetailDTO>(ddlProject, "Title", "ID", "All", "0");

            SearchUsersRequest requestUser = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            requestUser.IsSunnet = true;
            var selfid = Convert.ToInt32(ConfigurationManager.AppSettings["PTOVIEWSELF"]);

            if (list.Where(t => t.ModuleID == allid).Count() > 0)
            {
                SearchUserResponse responseuser = userApp.SearchUsers(requestUser);
                ddlUsers.Items.Add(new ListItem("All", "0"));
                foreach (UsersEntity user in responseuser.ResultList)
                {
                    ddlUsers.Items.Add(new ListItem(string.Format("{0} {1}", user.FirstName, user.LastName)
                                                    , user.ID.ToString()));
                }
            }
            else
            {
                ddlUsers.Items.Add(new ListItem(string.Format("{0} {1}", UserInfo.FirstName, UserInfo.LastName)
                                                , UserInfo.ID.ToString()));
            }
        }
Example #5
0
        private void InitClientUsers()
        {
            SearchUsersRequest searchUserRequest = new SearchUsersRequest(
                SearchUsersType.Project, false, " FirstName ", " ASC ");

            searchUserRequest.ProjectID = ProjectID;
            SearchUserResponse response = userApp.SearchUsers(searchUserRequest);
            var listUsers = response.ResultList.FindAll(x => x.Role == RolesEnum.CLIENT && x.UserID != UserInfo.UserID);

            var listTicketUsers = ticketApp.GetListUsersByTicketId(TicketID);
            var tmpList         = listUsers.Select(x => new
            {
                x.ID,
                ProjectID = ProjectID,
                x.FirstName,
                x.LastName,
                x.FirstAndLastName,
                x.LastNameAndFirst,
                Writed = hasWaitingStatus && listTicketUsers.Any(r => r.UserID == x.ID) &&
                         listTicketUsers.Find(r => r.UserID == x.ID).TicketStatus == UserTicketStatus.Normal,
                Selected = listTicketUsers.Any(r => r.UserID == x.ID) &&
                           listTicketUsers.Find(r => r.UserID == x.ID).TicketStatus != UserTicketStatus.Normal,
                Update = listTicketUsers.Any(r => r.UserID == x.ID) ? listTicketUsers.Find(r => r.UserID == x.ID).TUID : 0,
                x.Role
            }).ToList();

            rptClient.DataSource = tmpList;
            rptClient.DataBind();

            rptClient2.DataSource = tmpList;
            rptClient2.DataBind();
        }
Example #6
0
        private void InitSearchControls()
        {
            DateTime date = DateTime.Now.AddMonths(-1);
            //txtStartDate.Text = new DateTime(date.Year, date.Month, 1).ToString("MM/dd/yyyy");
            //txtEndDate.Text = new DateTime(date.Year, date.Month, DateTime.DaysInMonth(date.Year, date.Month)).ToString("MM/dd/yyyy");

            ProjectApplication      projApp = new ProjectApplication();
            List <ProjectDetailDTO> listAll = projApp.GetUserProjects(UserInfo);

            listAll.BindDropdown <ProjectDetailDTO>(ddlProject, "Title", "ID", "All", "0");

            UserApplication    userApp     = new UserApplication();
            SearchUsersRequest requestUser = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            requestUser.IsSunnet = true;
            SearchUserResponse responseuser = userApp.SearchUsers(requestUser);

            ddlUsers.Items.Add(new ListItem("All", "0"));
            foreach (UsersEntity user in responseuser.ResultList)
            {
                ddlUsers.Items.Add(new ListItem(string.Format("{0} {1}", user.FirstName, user.LastName)
                                                , user.ID.ToString()));
            }
        }
Example #7
0
        private void BindUsers()
        {
            UserApplication    userApp     = new UserApplication();
            SearchUsersRequest requestUser = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            requestUser.IsSunnet = true;
            requestUser.IsActive = true;
            SearchUserResponse responseuser = userApp.SearchUsers(requestUser);

            ddlUsers.Items.Add(new ListItem("All", "0"));
            switch (UserInfo.Role)
            {
            case RolesEnum.ADMIN:
            case RolesEnum.Sales:
            case RolesEnum.PM:
                foreach (UsersEntity user in responseuser.ResultList)
                {
                    ddlUsers.Items.Add(new ListItem(string.Format("{0} {1}", user.FirstName, user.LastName)
                                                    , user.ID.ToString()));
                }
                break;

            case RolesEnum.Leader:
            case RolesEnum.QA:
            case RolesEnum.DEV:
                foreach (UsersEntity user in responseuser.ResultList.FindAll(r => r.Role == RolesEnum.Leader ||
                                                                             r.Role == RolesEnum.QA || r.Role == RolesEnum.DEV))
                {
                    ddlUsers.Items.Add(new ListItem(string.Format("{0} {1}", user.FirstName, user.LastName)
                                                    , user.ID.ToString()));
                }
                break;
            }
        }
        public SearchUserResponse Get(SearchUserRequest request)
        {
            SearchUserResponse response = new SearchUserResponse();

            response.Users = PlacesToVisitRepository.SearchUsersByUserDetails(request.SearchQuery);

            return(response);
        }
Example #9
0
        public SearchUserResponse SearchUsers(SearchUsersRequest request)
        {
            this.ClearBrokenRuleMessages();
            SearchUserResponse response = mgr.SearchUsers(request);

            this.AddBrokenRuleMessages(mgr.BrokenRuleMessages);
            return(response);
        }
Example #10
0
        public SunNet.PMNew.Entity.UserModel.SearchUserResponse SearchUsers(SearchUsersRequest request)
        {
            mgr.ClearBrokenRuleMessages();
            SearchUserResponse response = mgr.SearchUsers(request);

            if (mgr.BrokenRuleMessages.Count > 0)
            {
                this.BrokenRuleMessages = mgr.BrokenRuleMessages;
            }
            return(response);
        }
Example #11
0
        public SearchUserResponse SearchUsers(SearchUsersRequest request)
        {
            this.ClearBrokenRuleMessages();
            SearchUserResponse response = CompanyUserAdapter.SearchUsers(request);

            if (response == null)
            {
                this.AddBrokenRuleMessage();
            }
            return(response);
        }
Example #12
0
        private List <UsersEntity> GetAllCompanyUsers()
        {
            int id = QS("id", 0);
            SearchUsersRequest searchUserRequest = new SearchUsersRequest(
                SearchUsersType.CompanyByProject, false, " FirstName ", " ASC ");

            searchUserRequest.ProjectID = id;
            SearchUserResponse response = projApp.GetProjectUsers(searchUserRequest);

            return(response.ResultList);
        }
Example #13
0
        private List <UsersEntity> GetAllSunnetUsers()
        {
            int id = QS("id", 0);
            SearchUsersRequest searchUserRequest = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            searchUserRequest.IsSunnet = true;

            SearchUserResponse response = projApp.GetProjectUsers(searchUserRequest);

            return(response.ResultList);
        }
Example #14
0
        private void InitPM()
        {
            SearchUsersRequest searchUsersRequest = new SearchUsersRequest(
                SearchUsersType.Role, false, " FirstName ", " ASC ");

            searchUsersRequest.Role = RolesEnum.PM;

            SearchUserResponse response = projApp.GetProjectUsers(searchUsersRequest);

            foreach (UsersEntity user in response.ResultList)
            {
                ddlPM.Items.Add(new ListItem(string.Format("{0} {1}", user.FirstName, user.LastName), user.UserID.ToString()));
            }
        }
Example #15
0
        private bool QueryISClient(string userid)
        {
            SearchUsersRequest searchUserRequest = new SearchUsersRequest(
                SearchUsersType.SingleInstance, false, " FirstName ", " ASC ");

            searchUserRequest.UserID = int.Parse(userid);
            SearchUserResponse response = projApp.GetProjectUsers(searchUserRequest);

            if (response.ResultList != null && response.ResultList.Count > 0)
            {
                return(response.ResultList[0].Role == RolesEnum.CLIENT);
            }
            return(false);
        }
Example #16
0
        private void InitUsers()
        {
            SearchUsersRequest request = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            request.IsSunnet = true;
            SearchUserResponse response = userApp.SearchUsers(request);

            ddlUser.DataSource = response.ResultList;
            ddlUser.DataBind(delegate(UsersEntity user, string status)
            {
                return(user.Status == status);
            });
            ddlUser.SelectItem(QS("user"));
        }
Example #17
0
        private void InitInternalUserBind()
        {
            SearchUsersRequest request = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            request.IsSunnet = true;

            SearchUserResponse response = userApp.SearchUsers(request);

            ddlAssignUser.DataSource = response.ResultList.FindAll(u => u.UserID == userEntity.UserID);
            ddlAssignUser.DataBind(delegate(UsersEntity user, string status)
            {
                return(user.Status == status);
            });
        }
Example #18
0
        private void InitEsUserBind()
        {
            SearchUsersRequest request = new SearchUsersRequest(
                SearchUsersType.Project, false, " FirstName ", " ASC ");

            int tid = QS("tid", 0);

            GetProjectIdAndUserIDResponse responseProject = ticketApp.GetProjectIdAndUserID(tid);//get pid

            request.ProjectID    = responseProject.ProjectId;
            response             = userApp.SearchUsers(request);
            ddlEs.DataTextField  = "FirstName";
            ddlEs.DataValueField = "UserID";
            SetDefaultValueForDropdownList <UsersEntity>(ddlEs,
                                                         response.ResultList.FindAll(x => (x.Role != RolesEnum.CLIENT && x.Role != RolesEnum.Sales && x.Role != RolesEnum.Supervisor)));
        }
Example #19
0
 public void searchFriendRequestCompleted(BaseHttpRequest request, BaseResponse response)
 {
     if (response != null && response.status != BaseResponse.ERROR)
     {
         SearchUserResponse searchUserResponse = response as SearchUserResponse;
         this.searchUserResultList.Clear();
         if (searchUserResponse.data != null)
         {
             this.searchUserResultList.AddRange(searchUserResponse.data);
         }
         if (searchFriendRequestCompletedDelegate != null)
         {
             this.searchFriendRequestCompletedDelegate(this.searchUserResultList);
         }
     }
     ComLoading.Close();
 }
        private void InitDEVSQAUser()
        {
            UserApplication    userApp     = new UserApplication();
            SearchUsersRequest requestUser = new SearchUsersRequest(
                SearchUsersType.All, false, " FirstName ", " ASC ");

            requestUser.IsSunnet = true;
            SearchUserResponse responseuser = userApp.SearchUsers(requestUser);

            ddlUsers.Items.Add(new ListItem("Please Select", "-1"));
            foreach (UsersEntity user in responseuser.ResultList)
            {
                if (user.Role == RolesEnum.DEV || user.Role == RolesEnum.QA)
                {
                    ddlUsers.Items.Add(new ListItem(string.Format("{0} {1}", user.FirstName, user.LastName)
                                                    , user.ID.ToString()));
                }
            }
        }
Example #21
0
        private void InitControl()
        {
            SearchUsersRequest request = new SearchUsersRequest(SearchUsersType.List
                                                                , true, OrderBy, OrderDirection);

            request.Status    = ddlStatus.SelectedValue;
            request.CompanyID = int.Parse(ddlCompany.SelectedValue);
            request.Keywords  = txtKeyword.Text.NoHTML();

            request.CurrentPage = CurrentPageIndex;
            request.PageCount   = UsersPage.PageSize;

            SearchUserResponse response = userApp.SearchUsers(request);

            rptUsers.DataSource = response.ResultList;
            rptUsers.DataBind();

            UsersPage.RecordCount = response.ResultCount;
        }
Example #22
0
        private void InitUsers()
        {
            SearchUsersRequest request = new SearchUsersRequest(
                SearchUsersType.Company, false, " FirstName ", " ASC ");

            request.CompanyID = CompanyID;

            SearchUserResponse response = companyApp.SearchUsers(request);

            if (response.ResultList.Count <= 0)
            {
                trNoUser.Visible = true;
            }
            else
            {
                rptUsers.DataSource = response.ResultList;
                rptUsers.DataBind();
                trNoUser.Visible = false;
            }
        }
Example #23
0
        public void ProcessRequest(HttpContext context)
        {
            string         type      = context.Request.QueryString["RequestType"];
            int            requestID = int.Parse(context.Request.QueryString["RequestID"]);
            WorkflowAction action    = (WorkflowAction)Enum.Parse(typeof(WorkflowAction), context.Request.QueryString["Action"]);

            List <UsersEntity> lstUser = new List <UsersEntity>();

            // Get some entity
            SealsApplication   sealApp           = new SealsApplication();
            SealRequestsEntity sealRequestEntity = sealApp.GetSealRequests(requestID);

            UserApplication userApp = new UserApplication();

            if (action == WorkflowAction.Deny || action == WorkflowAction.FinishProcess)
            {
                lstUser.Add(userApp.GetUser(sealRequestEntity.RequestedBy));
            }

            else if (action == WorkflowAction.Cancel || action == WorkflowAction.Complete || action == WorkflowAction.Pending || action == WorkflowAction.Save)
            {
            }

            else if (type == "Seal")
            {
                // Get Seal entity list
                List <SealUnionRequestsEntity> listSealUnionReq = sealApp.GetSealUnionRequestsList(requestID);
                List <SealsEntity>             listSeal         = new List <SealsEntity>();
                foreach (SealUnionRequestsEntity ent in listSealUnionReq)
                {
                    SealsEntity sealEntity = sealApp.GetList().Find(r => r.ID == ent.SealID);
                    listSeal.Add(sealEntity);
                }

                if (action == WorkflowAction.Submit)
                {
                    foreach (SealsEntity ent in listSeal)
                    {
                        lstUser.Add(userApp.GetUser(ent.Approver));
                    }
                }
                else if (action == WorkflowAction.Approve)
                {
                    foreach (SealsEntity ent in listSeal)
                    {
                        lstUser.Add(userApp.GetUser(ent.Owner));
                    }
                }
                else
                {
                    SearchUsersRequest requestUser = new SearchUsersRequest(SearchUsersType.All, false, " FirstName ", " ASC ");
                    requestUser.IsSunnet = true;
                    SearchUserResponse responseuser = userApp.SearchUsers(requestUser);
                    lstUser = responseuser.ResultList.FindAll(r => r.ID != UserInfo.ID && r.Status == "ACTIVE");
                }
            }

            else
            {
                SearchUsersRequest requestUser = new SearchUsersRequest(SearchUsersType.All, false, " FirstName ", " ASC ");
                requestUser.IsSunnet = true;
                SearchUserResponse responseuser = userApp.SearchUsers(requestUser);
                lstUser = responseuser.ResultList.FindAll(r => r.ID != UserInfo.ID && r.Status == "ACTIVE");//(r.Role == RolesEnum.PM || r.Role== RolesEnum.Sales) &&
            }

            lstUser = lstUser.Distinct().ToList();

            Dictionary <string, object> result = new Dictionary <string, object>();

            result.Add("list", lstUser);
            context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(result));
            context.Response.End();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                var list = new List <ListItem>()
                {
                    new ListItem("Lading")
                    {
                        Selected = false
                    },
                    new ListItem("A", "1")
                    {
                        Selected = false
                    },
                    new ListItem("B", "2")
                    {
                        Selected = false
                    },
                    new ListItem("C", "3")
                    {
                        Selected = false
                    },
                    new ListItem("D", "4")
                    {
                        Selected = false
                    },
                    new ListItem("E", "5")
                    {
                        Selected = false
                    },
                    new ListItem("Rome")
                    {
                        Selected = false
                    },
                    new ListItem("I", "1")
                    {
                        Selected = false
                    },
                    new ListItem("II", "2")
                    {
                        Selected = false
                    },
                    new ListItem("III", "3")
                    {
                        Selected = false
                    },
                    new ListItem("IV", "4")
                    {
                        Selected = false
                    },
                    new ListItem("V", "5")
                    {
                        Selected = false
                    }
                };
                ExtendedDropdownList1.OptionGroupValues = "Lading,Rome";
                ExtendedDropdownList1.DataSource        = list;
                ExtendedDropdownList1.DataBind();

                SearchUsersRequest request = new SearchUsersRequest(
                    SearchUsersType.List, false, " FirstName ", " ASC ");
                //request.IsActive = true;
                //request.IsSunnet = true;

                SearchUserResponse response = userApp.SearchUsers(request);
                //ddlUsers.DataTextField = "FirstAndLastName";
                //ddlUsers.DataValueField = "UserID";
                ddlUsers.DataSource = response.ResultList;
                Func <UsersEntity, string, bool> userByRole = delegate(UsersEntity user, string status)
                {
                    return(user.Role.ToString() == status);
                };
                ddlUsers.DataBind(userByRole);
                ddlUsers.SelectedValue = "120";

                //ddlUsers2.DataTextField = "FirstAndLastName";
                //ddlUsers2.DataValueField = "UserID";
                ddlUsers2.DataSource = response.ResultList;
                Func <UsersEntity, string, bool> userByStatus = delegate(UsersEntity user, string status)
                {
                    return(user.Status == status);
                };
                ddlUsers2.DataBind(userByStatus);
                ddlUsers2.SelectedValue     = "120";
                ddlUsers2.DefaultSelectText = "User is required";

                //ddlUsers3.DataTextField = "FirstAndLastName";
                //ddlUsers3.DataValueField = "UserID";
                ddlUsers3.DataSource = response.ResultList.FindAll(x => x.Status == "ACTIVE");
                ddlUsers3.DataBind(userByStatus);
                ddlUsers3.SelectedValue = "120";

                Button1_Click(null, null);
            }
        }
        public SearchUserResponse SearchUsers(SearchUsersRequest request)
        {
            int start = request.CurrentPage * request.PageCount + 1 - request.PageCount;
            int end   = request.CurrentPage * request.PageCount;

            string strSelCount = " SELECT  COUNT(1)  FROM [Users] u ";

            if (request.OrderExpression.ToLower().Equals("status"))
            {
                request.OrderExpression = " u.Status ";
            }
            string        strOrderby         = string.Format(" {0} {1} ", request.OrderExpression, request.OrderDirection);
            string        strSelAttrs        = " SELECT u.*,c.CompanyName  FROM  [Users]  u left join Companys c on u.CompanyID=c.ComID  ";
            string        strSelAttrsOrderBy = string.Format(@" Order BY {0}  ", strOrderby);
            string        strSelPageModel    = string.Format(@"SELECT * FROM(
                                                SELECT ROW_NUMBER() OVER(
                                                Order BY {0}) as  INDEX_ID,u.*,c.CompanyName  FROM [Users]  u left join Companys c on u.CompanyID=c.ComID  ", strOrderby);
            string        strWherePageModel  = @") NEW_TB  WHERE INDEX_ID BETWEEN @Strat AND  @End;";
            StringBuilder strWhere           = new StringBuilder();

            strWhere.Append(" WHERE IsDelete=0 ");
            switch (request.SearchType)
            {
            case SearchUsersType.All:
                if (request.IsSunnet)
                {
                    strWhere.Append(" AND [UserType] = 'SUNNET'");
                }
                if (request.IsClient)
                {
                    strWhere.Append(" AND [UserType] = 'CLIENT'");
                }
                //if (!string.IsNullOrEmpty(request.Status) && request.Status.ToUpper() != "ALL")
                //{
                //    strWhere.Append(" AND u.Status=@Status ");
                //}
                strWhere.Append(" AND u.Status='ACTIVE'");
                break;

            case SearchUsersType.List:
                strWhere.Append(" AND ( UserName like @Keywords OR FirstName  like @Keywords  OR LastName  like @Keywords )");
                if (request.CompanyID != 0)
                {
                    strWhere.AppendFormat(" AND (CompanyID={0})", request.CompanyID);
                }
                if (!string.IsNullOrEmpty(request.Status) && request.Status.ToUpper() != "All".ToUpper())
                {
                    strWhere.Append(" AND u.Status=@Status ");
                }
                break;

            case SearchUsersType.Company:
                strWhere.Append(" AND u.Status='ACTIVE'");
                strWhere.Append(" AND u.CompanyID =@CompanyID");
                break;

            case SearchUsersType.CompanyByProject:
                strWhere.Append(" AND u.Status='ACTIVE'");
                strWhere.Append(" AND u.CompanyID IN (SELECT CompanyID FROM Projects  WHERE ProjectID = @ProjectID )");
                break;

            case SearchUsersType.Project:
                strWhere.Append(" AND u.Status='ACTIVE'");
                strWhere.Append(" AND u.UserID IN (SELECT UserID FROM ProjectUsers WHERE ProjectID = @ProjectID)");
                break;

            case SearchUsersType.Role:
                strWhere.Append(" AND u.RoleID =@RoleID ");
                strWhere.Append(" AND u.Status='ACTIVE'");
                break;

            case SearchUsersType.Ticket:
                strWhere.Append(" AND u.UserID in ( SELECT  [UserID] FROM  [TicketUsers] WHERE [TicketID]=@TicketID)");
                break;

            default: break;
            }

            StringBuilder strSql = new StringBuilder();

            if (request.IsPageModel)
            {
                strSql.Append(strSelCount);
                strSql.Append(strWhere);
                strSql.Append(";");
                strSql.Append(strSelPageModel);
                strSql.Append(strWhere);
                strSql.Append(strWherePageModel);
            }
            else
            {
                strSql.Append(strSelAttrs);
                strSql.Append(strWhere);
                strSql.Append(strSelAttrsOrderBy);
                strSql.Append(";");
            }

            SearchUserResponse response = new SearchUserResponse();
            List <UsersEntity> list;
            Database           db = DatabaseFactory.CreateDatabase();

            using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString()))
            {
                try
                {
                    db.AddInParameter(dbCommand, "UserID", DbType.Int32, request.UserID);
                    db.AddInParameter(dbCommand, "Keywords", DbType.String, string.Format("%{0}%", request.Keywords.FilterSqlString()));
                    db.AddInParameter(dbCommand, "Status", DbType.String, request.Status);
                    db.AddInParameter(dbCommand, "CompanyID", DbType.Int32, request.CompanyID);
                    db.AddInParameter(dbCommand, "ProjectID", DbType.Int32, request.ProjectID);
                    db.AddInParameter(dbCommand, "RoleID", DbType.Int32, (int)request.Role);
                    db.AddInParameter(dbCommand, "TicketID", DbType.Int32, request.TicketID);
                    db.AddInParameter(dbCommand, "Strat", DbType.Int32, start);
                    db.AddInParameter(dbCommand, "End", DbType.Int32, end);

                    using (IDataReader dataReader = db.ExecuteReader(dbCommand))
                    {
                        list = new List <UsersEntity>();
                        if (request.IsPageModel)
                        {
                            if (dataReader.Read())
                            {
                                response.ResultCount = dataReader.GetInt32(0);
                                dataReader.NextResult();
                            }
                        }
                        while (dataReader.Read())
                        {
                            list.Add(UsersEntity.ReaderBind(dataReader));
                        }
                        response.ResultList = list;
                    }
                }
                catch (Exception ex)
                {
                    WebLogAgent.Write(string.Format("[SQLText:{0},{1}Messages:\r\n{2}]",
                                                    strSql.ToString(),
                                                    base.FormatParameters(dbCommand.Parameters),
                                                    ex.Message));
                }
            }

            return(response);
        }