protected void Page_Load(object sender, EventArgs e) { if (QS("tid", 0) <= 0) { this.ShowArgumentErrorMessageToClient(); return; } response = ticketApp.GetProjectIdAndUserID(QS("tid", 0)); projectUsersList = projectApp.GetProjectSunnetUserList(response.ProjectId); foreach (ProjectUsersEntity tmpU in projectUsersList) { UsersEntity user = userApp.GetUser(tmpU.UserID); if (user != null) { if (user.Status.Trim() != "INACTIVE") { userList.Add(user); } } } if (userList.Count <= 0) { this.ShowMessageToClient("No user under this project.", 0, false, false); } tiketUserEntityList = ticketApp.GetListUsersByTicketId(QS("tid", 0)); }
protected void BindTicketUsers(int projectID) { List <ProjectUsersEntity> listProjectUser = projectApp.GetProjectSunnetUserList(projectID); StringBuilder sb = new StringBuilder(); foreach (ProjectUsersEntity tmpU in listProjectUser) { UsersEntity user = userApp.GetUser(tmpU.UserID); if (user != null && user.ID != UserInfo.ID && user.Role != RolesEnum.Supervisor) { if (user.Status.Trim() != "INACTIVE") { sb.AppendFormat("<option id={0}-{3}>{1}, {2}</option>", user.UserID, user.LastName, user.FirstName, user.RoleID); } } } this.lilUserList.Text = sb.ToString(); }
protected string GetUsersHtml(RolesEnum role) { StringBuilder htmls = new StringBuilder(); GetProjectIdAndUserIDResponse response = ticketApp.GetProjectIdAndUserID(QS("tid", 0)); List <ProjectUsersEntity> projectUsers = projectApp.GetProjectSunnetUserList(response.ProjectId); ProjectsEntity projectsEntity = projectApp.Get(response.ProjectId); if (projectUsers != null && projectUsers.Count > 0) { bool isHasUser = false; foreach (ProjectUsersEntity projectUser in projectUsers) { UsersEntity user = userApp.GetUser(projectUser.UserID); if (user != null && user.Status.Trim() != "INACTIVE") { if (user.Role != RolesEnum.CLIENT && user.Role == role) { if (ticketEntity.CreatedBy != user.UserID) { htmls.AppendFormat("<li userid='{0}' data-role=" + (int)MapRoleToTicketUserType(role) + ">{1}</li>", user.ID, user.FirstName); } else { htmls.AppendFormat("<li userid='{0}' data-isCreate='true' data-role=" + (int)MapRoleToTicketUserType(role) + ">{1}</li>", user.ID, user.FirstName); } isHasUser = true; } } } if (!isHasUser) { htmls.AppendFormat("<li style='{0}'></li>", "visibility:hidden;"); } } return(htmls.ToString()); }
/// <summary> /// 下拉框 改变时 的做法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void ddlProject_SelectedIndexChanged(object sender, EventArgs e) { ProjectApplication projectApplication = new ProjectApplication(); List <ProjectDetailDTO> list = projectApplication.GetUserProjectsForCreateObject(UserInfo); ProjectDetailDTO projectDetailDto = list.FirstOrDefault(c => c.Title == ddlProject.SelectedItem.Text); List <UsersEntity> users = new List <UsersEntity>(); if (projectDetailDto != null) { var sunnetUser = projectApplication.GetProjectSunnetUserList(projectDetailDto.ProjectID); users.AddRange(sunnetUser.Select(t => userApp.GetUser(t.UserID)).Where(user => user != null && user.Status.Trim() != "INACTIVE")); list.Remove(projectDetailDto); list.BindDropdown <ProjectDetailDTO>(ddlProject, "Title", "ProjectID", projectDetailDto.Title, projectDetailDto.ProjectID.ToString(), "", false); ddlProject.Attributes.Add("onchange", "fnDisplayUsers();ChangeProject();check();"); UsersEntity myselef = users.FirstOrDefault(c => c.UserID == UserInfo.UserID); if (myselef != null) { users.Remove(myselef); users.Add(new UsersEntity() { FirstName = "System", UserID = -1 }); users.BindDropdown <UsersEntity>(ddlRes, "FirstAndLastName", "UserID", myselef.FirstAndLastName, myselef.UserID.ToString(), "", true); } else { users.Add(new UsersEntity() { FirstName = "System", UserID = -1 }); users.BindDropdown <UsersEntity>(ddlRes, "FirstAndLastName", "UserID"); } } }
private void CreateAssignUserList() { GetProjectIdAndUserIDResponse response = ticketApp.GetProjectIdAndUserID(ticketID); List <ProjectUsersEntity> projectUsers = projApp.GetProjectSunnetUserList(response.ProjectId) .Distinct(new CompareProjectUser()) .ToList <ProjectUsersEntity>(); if (UserInfo.Role == RolesEnum.Leader) { dvUS.Style.Add("visibility", "hidden"); dvUS.Style.Add("overflow", "auto"); dvUS.Style.Add("width", "1px"); dvUS.Style.Add("height", "1px"); } List <TicketUsersEntity> ticketUsers = ticketApp.GetListUsersByTicketId(ticketID); TicketsEntity ticketEntity = ticketApp.GetTickets(ticketID); ProjectsEntity projectsEntity = projApp.Get(response.ProjectId); if (projectUsers != null && projectUsers.Count() > 0) { foreach (ProjectUsersEntity projectUser in projectUsers) { UsersEntity user = userApp.GetUser(projectUser.UserID); if (user != null && user.Status.Trim() != "INACTIVE") { if (user.Role != RolesEnum.CLIENT) { // 去掉“隐藏ticket的创建者和project的pm” lyq 20140808 //bool isTicketCreateUser = (ticketEntity.CreatedBy == user.UserID || user.UserID == projectsEntity.PMID); bool isTicketCreateUser = false; bool isChecked = ticketUsers.Find(r => r.UserID == user.UserID) != null; switch (user.Role) { case RolesEnum.Supervisor: case RolesEnum.Sales: case RolesEnum.PM: { this.ulUS.Controls.Add(GetUserLi(user, isTicketCreateUser, isChecked, true)); break; } case RolesEnum.Leader: case RolesEnum.DEV: case RolesEnum.Contactor: { this.ulDev.Controls.Add(GetUserLi(user, isTicketCreateUser, isChecked)); break; } case RolesEnum.QA: { this.ulQA.Controls.Add(GetUserLi(user, isTicketCreateUser, isChecked)); break; } } } } } } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ProjectApplication projectApplication = new ProjectApplication(); List <ProjectDetailDTO> list = projectApplication.GetUserProjectsForCreateObject(UserInfo); List <TicketsEntity> listTicket = ticketAPP.GetTicketsByCreateId(UserInfo.UserID); var projectDetailDto = list.FirstOrDefault(c => { var firstOrDefault = listTicket.FirstOrDefault(); return(firstOrDefault != null && c.Title == firstOrDefault.ProjectTitle); }); if (projectDetailDto != null) { List <UsersEntity> users = new List <UsersEntity>(); var sunnetUser = projectApplication.GetProjectSunnetUserList(projectDetailDto.ProjectID); users.AddRange(sunnetUser.Select(t => userApp.GetUser(t.UserID)).Where(user => user != null && user.Status.Trim() != "INACTIVE")); UsersEntity myselef = users.FirstOrDefault(c => c.UserID == UserInfo.UserID); if (myselef != null) { users.Remove(myselef); users.Add(new UsersEntity() { FirstName = "System", UserID = -1 }); users.BindDropdown <UsersEntity>(ddlRes, "FirstAndLastName", "UserID", myselef.FirstAndLastName, myselef.UserID.ToString(), "", true); } else { users.Add(new UsersEntity() { FirstName = "System", UserID = -1 }); users.BindDropdown <UsersEntity>(ddlRes, "FirstAndLastName", "UserID"); } list.Remove(projectDetailDto); list.Insert(0, projectDetailDto); list.BindDropdown <ProjectDetailDTO>(ddlProject, "Title", "ProjectID"); ddlProject.Items.FindByValue(projectDetailDto.ProjectID.ToString()).Selected = true; } else { list.BindDropdown <ProjectDetailDTO>(ddlProject, "Title", "ProjectID", DefaulSelectText, "", QS("project")); } jsonProjectInfo = projectApplication.GetProjectInfoJson(list); if (UserInfo.Role == RolesEnum.PM) { dvRes.Style.Remove("display"); lblRes.Style.Remove("display"); } if (UserInfo.Role == RolesEnum.PM || UserInfo.Role == RolesEnum.ADMIN || UserInfo.Role == RolesEnum.Sales) { ViewState["curRole"] = UserInfo.Role.ToString(); dvSource.Style.Remove("display"); lblSource.Style.Remove("display"); lblAccounting.Style.Remove("display"); dvAccounting.Style.Remove("display"); rdoAccounting.SelectedIndex = 0; ddlSource.DataSource = ConvertEnumtToListItem(typeof(RolesEnum)); ddlSource.DataBind(); if (UserInfo.Role == RolesEnum.PM || UserInfo.Role == RolesEnum.ADMIN) { ddlSource.SelectedValue = RolesEnum.PM.ToString(); } else { ddlSource.SelectedValue = RolesEnum.Sales.ToString(); } dvIsInteral.Style.Remove("display"); lblIsInternal.Style.Remove("display"); } else { rdoAccounting.SelectedIndex = 2; } if (list.Count == 1 && !projectApplication.CheckIfEstimated(list[0])) //只有一个Project,且已过期 { this.btnSubmit.Enabled = false; this.btnSave.Enabled = false; this.btnSubmitAndNew.Enabled = false; } } }
public void ProcessRequest(HttpContext context) { // [{role:"Dev",users:{role:"",id:"",name:""}},...] int projectID = QS(context.Request.QueryString["pid"], 0); List <ProjectUserforJson> USUsers = new List <ProjectUserforJson>(); List <ProjectUserforJson> DEVUsers = new List <ProjectUserforJson>(); List <ProjectUserforJson> QAUsers = new List <ProjectUserforJson>(); List <ProjectUsersforJson> projectUsersforJson = new List <ProjectUsersforJson>(); IEnumerable <ProjectUsersEntity> projectUsers = projApp.GetProjectSunnetUserList(projectID).Distinct(new ProjectUsersComparer()); if (projectUsers != null && projectUsers.Count() > 0) { foreach (ProjectUsersEntity projectUser in projectUsers) { UsersEntity user = userApp.GetUser(projectUser.UserID); if (user != null && user.Status.Trim() != "INACTIVE") { if (user.Role != RolesEnum.CLIENT) { switch (user.Role) { case RolesEnum.Supervisor: case RolesEnum.Sales: { USUsers.Add(new ProjectUserforJson() { role = ((int)(user.Role)), Id = user.UserID, UserName = user.FirstAndLastName, Lastname = user.LastName }); break; } case RolesEnum.PM: { USUsers.Add(new ProjectUserforJson() { role = ((int)(user.Role)), Id = user.UserID, UserName = user.FirstAndLastName, Lastname = user.LastName, Selected = true }); break; } case RolesEnum.Leader: case RolesEnum.DEV: case RolesEnum.Contactor: { DEVUsers.Add(new ProjectUserforJson() { role = ((int)(user.Role)), Id = user.UserID, UserName = user.FirstAndLastName, Lastname = user.LastName }); break; } case RolesEnum.QA: { QAUsers.Add(new ProjectUserforJson() { role = ((int)(user.Role)), Id = user.UserID, UserName = user.FirstAndLastName, Lastname = user.LastName }); break; } } } } } } USUsers.Sort(new ProjectUsersforJsonComparer()); DEVUsers.Sort(new ProjectUsersforJsonComparer()); QAUsers.Sort(new ProjectUsersforJsonComparer()); projectUsersforJson.Add(new ProjectUsersforJson() { Role = "US", Users = USUsers }); projectUsersforJson.Add(new ProjectUsersforJson() { Role = "DEV", Users = DEVUsers }); projectUsersforJson.Add(new ProjectUsersforJson() { Role = "QA", Users = QAUsers }); context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(projectUsersforJson)); }