public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            if (IdentityContext.UserID <= 0)
            {
                context.Response.Write("[]");
                return;
            }

            int projectId;

            if (!int.TryParse(context.Request.QueryString["projectId"] + "", out projectId))
            {
                context.Response.Write("[]");
                return;
            }

            UsersEntity user = new App.UserApplication().GetUser(IdentityContext.UserID);

            ProjectsEntity projectEntity = new App.ProjectApplication().Get(projectId);

            List <int> listUserId = new App.ProjectApplication().GetActiveUserIdByProjectId(projectId);

            if (listUserId == null || listUserId.Count == 0)
            {
                context.Response.Write("[]");
                return;
            }
            if (!listUserId.Contains(user.UserID))
            {
                context.Response.Write("[]");
                return;
            }
            else
            {
                listUserId.Remove(user.UserID);
            }

            if (user.Office == "CN" && user.UserType == "SUNNET")//山诺 上海的员工只能获取本公司的项目的相关人员
            {
                if (projectEntity.CompanyID == Config.SunnetCompany)
                {
                    StringBuilder sb = new StringBuilder();
                    sb.Append("[");
                    int index = 0;
                    foreach (int tmpId in listUserId)
                    {
                        UsersEntity tmpUser = new App.UserApplication().GetUser(tmpId);
                        if (tmpUser == null)
                        {
                            continue;
                        }
                        if (tmpUser.UserType == "SUNNET")
                        {
                            CompanysEntity companyEntity = new App.CompanyApplication().GetCompany(tmpUser.CompanyID);
                            if (index > 0)
                            {
                                sb.Append(",");
                            }
                            index++;
                            sb.Append("{");
                            sb.AppendFormat("\"UserID\":\"{0}\"", tmpUser.UserID);
                            sb.AppendFormat(",\"FirstAndLastName\":\"{0}\"", tmpUser.FirstAndLastName);
                            sb.AppendFormat(",\"LastNameAndFirst\":\"{0}\"", tmpUser.LastNameAndFirst);
                            sb.AppendFormat(",\"CompanyName\":\"{0}\"", companyEntity.CompanyName);
                            sb.AppendFormat(",\"Title\":\"{0}\"", tmpUser.Title);
                            sb.Append("}");
                        }
                    }
                    sb.Append("]");
                    context.Response.Write(sb.ToString());
                    return;
                }
                else
                {
                    context.Response.Write("[]");
                    return;
                }
            }
            else
            {
                if (user.Role == RolesEnum.CLIENT || user.Role == RolesEnum.ADMIN || user.Role == RolesEnum.PM || user.Role == RolesEnum.Sales || user.Role == RolesEnum.Contactor)
                {
                    StringBuilder sb = new StringBuilder();
                    sb.Append("[");
                    int index = 0;
                    foreach (int tmpId in listUserId)
                    {
                        UsersEntity tmpUser = new App.UserApplication().GetUser(tmpId);
                        if (tmpUser == null)
                        {
                            continue;
                        }
                        if (projectEntity.CompanyID == Config.SunnetCompany)
                        {
                            CompanysEntity companyEntity = new App.CompanyApplication().GetCompany(tmpUser.CompanyID);
                            if (index > 0)
                            {
                                sb.Append(",");
                            }
                            index++;
                            sb.Append("{");
                            sb.AppendFormat("\"UserID\":\"{0}\"", tmpUser.UserID);
                            sb.AppendFormat(",\"FirstAndLastName\":\"{0}\"", tmpUser.FirstAndLastName);
                            sb.AppendFormat(",\"LastNameAndFirst\":\"{0}\"", tmpUser.LastNameAndFirst);
                            sb.AppendFormat(",\"CompanyName\":\"{0}\"", companyEntity.CompanyName);
                            sb.AppendFormat(",\"Title\":\"{0}\"", tmpUser.Title);
                            sb.Append("}");
                        }
                        else
                        {
                            if (tmpUser.Role == RolesEnum.CLIENT || tmpUser.Role == RolesEnum.ADMIN || tmpUser.Role == RolesEnum.PM || tmpUser.Role == RolesEnum.Sales || user.Role == RolesEnum.Contactor)
                            {
                                CompanysEntity companyEntity = new App.CompanyApplication().GetCompany(tmpUser.CompanyID);
                                if (index > 0)
                                {
                                    sb.Append(",");
                                }
                                index++;
                                sb.Append("{");
                                sb.AppendFormat("\"UserID\":\"{0}\"", tmpUser.UserID);
                                sb.AppendFormat(",\"FirstAndLastName\":\"{0}\"", tmpUser.FirstAndLastName);
                                sb.AppendFormat(",\"LastNameAndFirst\":\"{0}\"", tmpUser.LastNameAndFirst);
                                sb.AppendFormat(",\"CompanyName\":\"{0}\"", companyEntity.CompanyName);
                                sb.AppendFormat(",\"Title\":\"{0}\"", tmpUser.Title);
                                sb.Append("}");
                            }
                        }
                    }
                    sb.Append("]");
                    context.Response.Write(sb.ToString());
                    return;
                }
            }
        }
Exemple #2
0
        private List <EventInviteEntity> GetInviteData(EventEntity eventEntity, bool isDelete = false)
        {
            List <EventInviteEntity> list = new App.EventsApplication().GetEventInvites(eventEntity.ID);

            foreach (EventInviteEntity tmpItem in list.FindAll(r => r.UserID > 0))
            {
                UsersEntity    tmpUser      = new App.UserApplication().GetUser(tmpItem.UserID);
                CompanysEntity comanyEntity = new App.CompanyApplication().GetCompany(tmpUser.CompanyID);
                tmpItem.FirstName   = tmpUser.FirstName;
                tmpItem.LastName    = tmpUser.LastName;
                tmpItem.Email       = tmpUser.Email;
                tmpItem.IsSeleted   = true;
                tmpItem.Title       = tmpUser.Title;
                tmpItem.CompanyName = comanyEntity.CompanyName;
            }
            if (isDelete)
            {
                return(list);
            }

            List <int>     listUserId    = new App.ProjectApplication().GetActiveUserIdByProjectId(eventEntity.ProjectID);
            ProjectsEntity projectEntity = new App.ProjectApplication().Get(eventEntity.ProjectID);

            litProject.Text = projectEntity.Title;

            listUserId.Remove(UserInfo.UserID);
            if (UserInfo.Office == "CN" && UserInfo.UserType == "SUNNET")//山诺 上海的员工只能获取本公司的项目的相关人员
            {
                if (projectEntity.CompanyID == Config.SunnetCompany)
                {
                    foreach (int tmpId in listUserId)
                    {
                        UsersEntity tmpUser = new App.UserApplication().GetUser(tmpId);
                        if (tmpUser == null)
                        {
                            continue;
                        }
                        if (tmpUser.UserType == "SUNNET")
                        {
                            if (list.Find(r => r.UserID == tmpUser.UserID) == null)
                            {
                                list.Add(new EventInviteEntity()
                                {
                                    EventID = eventEntity.ID, UserID = tmpUser.UserID, FirstName = tmpUser.FirstName, LastName = tmpUser.LastName
                                });
                            }
                        }
                    }
                }
            }
            else
            {
                if (UserInfo.Role == RolesEnum.CLIENT || UserInfo.Role == RolesEnum.ADMIN || UserInfo.Role == RolesEnum.PM || UserInfo.Role == RolesEnum.Sales || UserInfo.Role == RolesEnum.Contactor)
                {
                    foreach (int tmpId in listUserId)
                    {
                        UsersEntity tmpUser = new App.UserApplication().GetUser(tmpId);
                        if (tmpUser == null)
                        {
                            continue;
                        }
                        CompanysEntity comanyEntity = new App.CompanyApplication().GetCompany(tmpUser.CompanyID);
                        if (projectEntity.CompanyID == Config.SunnetCompany) //如果是公司项目
                        {
                            if (list.Find(r => r.UserID == tmpUser.UserID) == null)
                            {
                                list.Add(new EventInviteEntity()
                                {
                                    EventID = eventEntity.ID,
                                    UserID  = tmpUser.UserID
                                    ,
                                    FirstName   = tmpUser.FirstName,
                                    LastName    = tmpUser.LastName,
                                    Title       = tmpUser.Title,
                                    CompanyName = comanyEntity.CompanyName
                                });
                            }
                        }
                        else
                        {
                            if (tmpUser.Role == RolesEnum.CLIENT || tmpUser.Role == RolesEnum.ADMIN || tmpUser.Role == RolesEnum.PM || tmpUser.Role == RolesEnum.Sales || UserInfo.Role == RolesEnum.Contactor)
                            {
                                if (list.Find(r => r.UserID == tmpUser.UserID) == null)
                                {
                                    list.Add(new EventInviteEntity()
                                    {
                                        EventID = eventEntity.ID,
                                        UserID  = tmpUser.UserID
                                        ,
                                        FirstName   = tmpUser.FirstName,
                                        LastName    = tmpUser.LastName,
                                        Title       = tmpUser.Title,
                                        CompanyName = comanyEntity.CompanyName
                                    });
                                }
                            }
                        }
                    }
                }
            }
            return(list);
        }