Esempio n. 1
0
 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));
 }
Esempio n. 2
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();
        }
Esempio n. 3
0
        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());
        }
Esempio n. 4
0
        /// <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");
                }
            }
        }
Esempio n. 5
0
        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;
                            }
                            }
                        }
                    }
                }
            }
        }
Esempio n. 6
0
        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));
        }