示例#1
0
        private void BindGroups()
        {
            //Groups Binding
            GroupsList.Items.Clear();

            // Everyone
            GroupsList.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.Global", "GroupEveryone").ToString(), "1"));

            using (IDataReader reader = SecureGroup.GetListGroupsAsTree())
            {
                while (reader.Read())
                {
                    string GroupName = CommonHelper.GetResFileString(reader["GroupName"].ToString());
                    string Id        = reader["GroupId"].ToString();
                    int    Level     = (int)reader["Level"];
                    for (int i = 0; i < Level; i++)
                    {
                        GroupName = "  " + GroupName;
                    }
                    ListItem item = new ListItem(GroupName, Id);
                    GroupsList.Items.Add(item);
                }
            }

            //Saved Value
            ListItem li = GroupsList.Items.FindByValue(GroupId);

            if (li != null)
            {
                li.Selected = true;
            }
            else
            {
                GroupsList.SelectedIndex = 0;
                GroupId = GroupsList.SelectedValue;
            }

            //Users Binding
            BindUsers();
        }
示例#2
0
        private void BindGroups()
        {
            //Groups Binding
            ddGroups.Items.Clear();
            using (IDataReader reader = SecureGroup.GetListGroupsAsTree())
            {
                while (reader.Read())
                {
                    string GroupName = CommonHelper.GetResFileString(reader["GroupName"].ToString());
                    string GroupId   = reader["GroupId"].ToString();
                    int    Level     = (int)reader["Level"];
                    for (int i = 1; i < Level; i++)
                    {
                        GroupName = "  " + GroupName;
                    }
                    ListItem item = new ListItem(GroupName, GroupId);
                    ddGroups.Items.Add(item);
                }
            }

            //Saved Value
            if (pc["CV_Group"] == null)
            {
                pc["CV_Group"] = ((int)InternalSecureGroups.Intranet).ToString();
            }
            ddGroups.ClearSelection();
            try
            {
                ddGroups.SelectedValue = pc["CV_Group"];
            }
            catch
            {
                ddGroups.SelectedIndex = 0;
                pc["CV_Group"]         = ddGroups.SelectedValue;
            }

            //Users Binding
            BindUsers(int.Parse(ddGroups.SelectedValue));
        }
        private void BindData()
        {
            ucTaskTime.Value = DateTime.MinValue;

            ddType.DataSource     = Incident.GetListIncidentTypes();
            ddType.DataTextField  = "TypeName";
            ddType.DataValueField = "TypeId";
            ddType.DataBind();

            ddSeverity.DataSource     = Incident.GetListIncidentSeverity();
            ddSeverity.DataTextField  = "SeverityName";
            ddSeverity.DataValueField = "SeverityId";
            ddSeverity.DataBind();

            ddPriority.DataSource     = Incident.GetListPriorities();
            ddPriority.DataTextField  = "PriorityName";
            ddPriority.DataValueField = "PriorityId";
            ddPriority.DataBind();

            ddProject.DataSource     = Incident.GetListProjects();
            ddProject.DataTextField  = "Title";
            ddProject.DataValueField = "ProjectId";
            ddProject.DataBind();
            ddProject.Items.Insert(0, new ListItem(LocRM.GetString("tNotSet"), "0"));

            ddCreator.DataSource     = SecureGroup.GetListAllActiveUsersInGroup((int)InternalSecureGroups.Intranet, false);
            ddCreator.DataTextField  = "DisplayName";
            ddCreator.DataValueField = "UserId";
            ddCreator.DataBind();

            ddManager.DataSource     = SecureGroup.GetListAllActiveUsersInGroup((int)InternalSecureGroups.Intranet, false);
            ddManager.DataTextField  = "DisplayName";
            ddManager.DataValueField = "UserId";
            ddManager.DataBind();
            ddManager.Items.Insert(0, new ListItem(
                                       Util.CommonHelper.GetGroupPureName((int)InternalSecureGroups.HelpDeskManager),
                                       ((int)InternalSecureGroups.HelpDeskManager).ToString()
                                       ));
        }
示例#4
0
        private void BindGroups()
        {
            ddGroups.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.Common", "FavoritesGroup").ToString(), "0"));

            if (Mediachase.Ibn.Lists.ListManager.GetListInfoByMetaClassName(ClassName).ProjectId.HasValue)
            {
                ddGroups.Items.Add(new ListItem(LocRM.GetString("tProject"), "-1"));
            }

            DataTable dt = SecureGroup.GetListGroupsAsTreeDataTable();

            foreach (DataRow row in dt.Rows)
            {
                ddGroups.Items.Add(new ListItem(CommonHelper.GetResFileString(row["GroupName"].ToString()), row["GroupId"].ToString()));
            }

            ListItem li = ddGroups.SelectedItem;

            if (li != null)
            {
                BindUsers(int.Parse(li.Value));
            }
        }
示例#5
0
        private void BindControls()
        {
            lstOpenWindow.Items.Add(new ListItem(LocRM.GetString("ExternalBrowser"), "1"));
            lstOpenWindow.Items.Add(new ListItem(LocRM.GetString("TearOff"), "2"));

            btnAddOneGr.Attributes.Add("onclick", "MoveOne(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); return false;");
            btnAddAllGr.Attributes.Add("onclick", "MoveAll(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); return false;");
            btnRemoveOneGr.Attributes.Add("onclick", "MoveOne(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + "); return false;");
            btnRemoveAllGr.Attributes.Add("onclick", "MoveAll(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + ");return false;");

            lbAvailableGroups.Attributes.Add("ondblclick", "MoveOne(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); return false;");
            lbSelectedGroups.Attributes.Add("ondblclick", "MoveOne(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + "); return false;");

            using (IDataReader reader = SecureGroup.GetListGroupsWithParameters(true, true, true, true, true, false, true, true, false, false, true))             //SecureGroup.GetListGroupsAsTreeForIBN())
            {
                while (reader.Read())
                {
                    string prefix = String.Empty;
                    //for (int i = 0; i < (int)reader["Level"]; i++)
                    //    prefix += "";
                    lbAvailableGroups.Items.Add(new ListItem(prefix + CommonHelper.GetResFileString(reader["GroupName"].ToString()), reader["GroupId"].ToString()));
                }
            }

            btnSubmit.Text = LocRM.GetString("Save");
            btnCancel.Text = LocRM.GetString("Cancel");

            btnCancel.Attributes.Add("onclick", "DisableButtons(this);");
            btnSubmit.Attributes.Add("onclick", "DisableButtons(this);SaveGroups();");

            if (Request["Group"] == "0")
            {
                trGroups.Visible = false;
            }

            DeleteIconCheckBox.Text = LocRM.GetString("DeleteIcon");
        }
示例#6
0
 private void BindDDType()
 {
     if (User.CanCreate())
     {
         ddUserType.Items.Add(new ListItem(LocRM.GetString("RegularUser"), "0"));
     }
     if (User.CanCreatePartner())
     {
         ddUserType.Items.Add(new ListItem(LocRM.GetString("PartnerUser"), "1"));
     }
     if (User.CanCreateExternal())
     {
         ddUserType.Items.Add(new ListItem(LocRM.GetString("ExternalUser"), "2"));
     }
     if (User.CanCreatePending())
     {
         ddUserType.Items.Add(new ListItem(LocRM.GetString("PendingUser"), "3"));
     }
     if (SecureGroup.IsPartner(GroupId) || GroupId == (int)InternalSecureGroups.Partner)
     {
         CommonHelper.SafeSelect(ddUserType, "1");
         BindVisibility();
     }
 }
示例#7
0
        private void BindGroups()
        {
            ddGroups.Items.Add(new ListItem(GetGlobalResourceObject("IbnFramework.Common", "FavoritesGroup").ToString(), "0"));

            int ProjectId = -1;

            using (IDataReader reader = Document.GetDocument(DocumentID))
            {
                if (reader.Read())
                {
                    if (reader["ProjectId"] != DBNull.Value)
                    {
                        ProjectId = (int)reader["ProjectId"];
                    }
                }
            }

            if (ProjectId > 0)
            {
                int pID = -ProjectId;
                ddGroups.Items.Add(new ListItem(LocRM.GetString("ProjectTeam"), pID.ToString()));
            }
            DataTable dt = SecureGroup.GetListGroupsAsTreeDataTable();

            foreach (DataRow row in dt.Rows)
            {
                ddGroups.Items.Add(new ListItem(CommonHelper.GetResFileString(row["GroupName"].ToString()), row["GroupId"].ToString()));
            }

            ListItem li = ddGroups.SelectedItem;

            if (li != null)
            {
                BindGroupUsers(int.Parse(li.Value));
            }
        }
示例#8
0
 protected void DeleteGroup(object sender, System.EventArgs e)
 {
     SecureGroup.Delete(GroupID);
     pc["SecureGroup_CurrentGroup"] = "1";
     Response.Redirect("~/Directory/Directory.aspx?Tab=0&SGroupID=1");
 }
示例#9
0
        private void BinddgGroupsUsers()
        {
            dgGroupsUsers.Columns[2].HeaderText = LocRM.GetString("GroupUser");
            dgGroupsUsers.Columns[3].HeaderText = LocRM.GetString("Email");

            DataTable dt = new DataTable();

            dt.Columns.Add("ObjectId", typeof(int));
            dt.Columns.Add("Type");
            dt.Columns.Add("Title");
            dt.Columns.Add("Email");
            dt.Columns.Add("sortTitle");
            dt.Columns.Add("ActionView");
            dt.Columns.Add("ActionEdit");
            dt.Columns.Add("HasChildren", typeof(bool));
            dt.Columns.Add("IsActive", typeof(bool));

            bool    CanUpdate = SecureGroup.CanUpdate();
            DataRow dr;

            if (GroupID != 1)             // [..]
            {
                int iParentId = SecureGroup.GetParentGroup(GroupID);
                dr                = dt.NewRow();
                dr["ObjectId"]    = 0;
                dr["Type"]        = "Group";
                dr["Title"]       = "<span style='padding-left:15px'>&nbsp;</span><a href='../Directory/directory.aspx?Tab=0&amp;SGroupID=" + iParentId.ToString() + "'>[..]</a>";
                dr["HasChildren"] = true;
                dr["IsActive"]    = true;
                dt.Rows.Add(dr);
            }
            using (IDataReader reader = SecureGroup.GetListChildGroups(GroupID))
            {
                while (reader.Read())
                {
                    dr             = dt.NewRow();
                    dr["ObjectId"] = reader["GroupId"];
                    dr["Type"]     = "Group";
                    int iGroupId = (int)reader["GroupId"];
                    dr["Title"]       = CommonHelper.GetGroupLink(iGroupId, CommonHelper.GetResFileString((string)reader["GroupName"]));
                    dr["sortTitle"]   = CommonHelper.GetResFileString(reader["GroupName"].ToString());
                    dr["HasChildren"] = reader["HasChildren"];
                    dr["IsActive"]    = true;

                    if (CanUpdate && iGroupId > 9)
                    {
                        dr["ActionEdit"] = "<a href='../Directory/AddGroup.aspx?Type=0&amp;Edit=1&amp;GroupID=" + iGroupId.ToString() + "'>" + "<img alt='' src='../layouts/images/edit.GIF'/></a>";
                    }
                    dt.Rows.Add(dr);
                }
            }

            if (dt.Rows.Count == 1 && GroupID == 6)             // Partner
            {
                PartnerLabel.Text    = LocRM.GetString("CreatePartnerGroup");
                PartnerLabel.Visible = true;
            }
            else
            {
                PartnerLabel.Visible = false;
            }

            //SELECT PrincipalId AS UserId, Login, FirstName, LastName, Email, IsActive, IMGroupId

            CanUpdate = User.CanUpdateUserInfo();
            bool bIsPartner = SecureGroup.IsPartner(GroupID);

            using (IDataReader reader = SecureGroup.GetListUsersInGroup(GroupID))
            {
                while (reader.Read())
                {
                    byte Activity   = (byte)reader["Activity"];
                    bool IsExternal = (bool)reader["IsExternal"];

                    dr             = dt.NewRow();
                    dr["ObjectId"] = reader["UserId"];

                    dr["Type"]      = "User";
                    dr["Title"]     = CommonHelper.GetUserStatus((int)reader["UserId"]);
                    dr["sortTitle"] = CommonHelper.GetUserStatusPureName((int)reader["UserId"]);
                    dr["Email"]     = "<a href='mailto:" + (string)reader["Email"] + "'>" + (string)reader["Email"] + "</a>";
                    if (CanUpdate)
                    {
                        if (Activity == (byte)User.UserActivity.Pending)
                        {
                            dr["ActionEdit"] = "<a href='../Directory/UserEdit.aspx?UserID=" + reader["UserId"].ToString() + "' title='" + LocRM.GetString("tApprove") + "'>"
                                               + "<img alt='' src='../layouts/images/icon-key.GIF'/></a>";
                        }
                        else if (GroupID == (int)InternalSecureGroups.Partner || bIsPartner)
                        {
                            dr["ActionEdit"] = "<a href='../Directory/PartnerEdit.aspx?UserID=" + reader["UserId"].ToString() + "' title='" + LocRM.GetString("tEdit") + "'>"
                                               + "<img alt='' src='../layouts/images/edit.GIF'/></a>";
                        }
                        else if (IsExternal)
                        {
                            dr["ActionEdit"] = "<a href='../Directory/ExternalEdit.aspx?UserID=" + reader["UserId"].ToString() + "' title='" + LocRM.GetString("tEdit") + "'>"
                                               + "<img alt='' src='../layouts/images/edit.GIF'/></a>";
                        }
                        else
                        {
                            dr["ActionEdit"] = "<a href='../Directory/UserEdit.aspx?UserID=" + reader["UserId"].ToString() + "' title='" + LocRM.GetString("tEdit") + "'>"
                                               + "<img alt='' src='../layouts/images/edit.GIF'/></a>";
                        }
                    }
                    dr["ActionView"] = "<a href='../Directory/UserView.aspx?UserID=" + reader["UserId"].ToString() + "' title='" + LocRM.GetString("tViewDetails") + "'>"
                                       + "<img alt='' src='../layouts/images/Icon-Search.GIF'/></a>";

                    dr["HasChildren"] = false;
                    dr["IsActive"]    = (Activity > 1);

                    dt.Rows.Add(dr);
                }
            }

            if (!SecureGroup.CanDelete())
            {
                dgGroupsUsers.Columns[6].Visible = false;
            }

            DataView dv = dt.DefaultView;

            dv.Sort = "Type, IsActive DESC, sortTitle";
            dgGroupsUsers.DataSource = dv;
            dgGroupsUsers.DataBind();

            foreach (DataGridItem dgi in dgGroupsUsers.Items)
            {
                int    ID            = int.Parse(dgi.Cells[0].Text);
                bool   UserCanDelete = User.CanDelete(ID);
                string type          = dgi.Cells[1].Text;
                bool   HasChildren   = bool.Parse(dgi.Cells[7].Text);

                ImageButton ib = (ImageButton)dgi.FindControl("ibDelete");
                if (type == "Group" && !HasChildren && ID >= 9)
                {
                    ib.Attributes.Add("onclick", "return confirm('" + LocRM.GetString("Warning") + "')");
                }
                else
                if (type != "Group" && UserCanDelete)
                {
                    ib.Attributes.Add("onclick", String.Format("return DeleteUser({0}, {1})", ID, GroupID));
                }
                else
                {
                    ib.Visible = false;
                }
            }
        }
示例#10
0
        private void BindUsers(int GroupID)
        {
            ddUsers.Items.Clear();
            AccessControlList ACLr   = (AccessControlList)ViewState["ACL"];
            ArrayList         alList = new ArrayList();

            foreach (AccessControlEntry ACEr in ACLr)
            {
                if (ACEr.OwnerKey == Guid.Empty)
                {
                    alList.Add((ACEr.IsRoleAce) ? ACEr.Role : ACEr.PrincipalId.ToString());
                }
            }
            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("UserId", typeof(string)));                                           // 0
            dt.Columns.Add(new DataColumn("UserName", typeof(string)));                                         // 1
            DataRow dr;

            if (GroupID == 0)
            {
                #region Roles

                #region General Roles
                if (!alList.Contains(UserRoleHelper.AdminRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.AdminRoleName;
                    dr[1] = LocRM.GetString("tAdmins");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.PowerProjectManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.PowerProjectManagerRoleName;
                    dr[1] = LocRM.GetString("tPPManager");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.HelpDeskManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.HelpDeskManagerRoleName;
                    dr[1] = LocRM.GetString("tHDM");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.GlobalProjectManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.GlobalProjectManagerRoleName;
                    dr[1] = LocRM.GetString("tGlobalPManager");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.GlobalExecutiveManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.GlobalExecutiveManagerRoleName;
                    dr[1] = LocRM.GetString("tGlobalEManager");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.TimeManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.TimeManagerRoleName;
                    dr[1] = LocRM.GetString("tTM");
                    dt.Rows.Add(dr);
                }
                #endregion

                #region General Project Roles
                if (!ContainerKey.StartsWith("Workspace"))
                {
                    if (!alList.Contains(UserRoleHelper.ProjectManagerRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.ProjectManagerRoleName;
                        dr[1] = LocRM.GetString("tPManager");
                        dt.Rows.Add(dr);
                    }

                    if (!alList.Contains(UserRoleHelper.ExecutiveManagerRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.ExecutiveManagerRoleName;
                        dr[1] = LocRM.GetString("tExMan");
                        dt.Rows.Add(dr);
                    }

                    if (!alList.Contains(UserRoleHelper.ProjectTeamRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.ProjectTeamRoleName;
                        dr[1] = LocRM.GetString("tTeam");
                        dt.Rows.Add(dr);
                    }

                    if (!alList.Contains(UserRoleHelper.ProjectSponsorRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.ProjectSponsorRoleName;
                        dr[1] = LocRM.GetString("tSponsors");
                        dt.Rows.Add(dr);
                    }

                    if (!alList.Contains(UserRoleHelper.ProjectStakeHolderRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.ProjectStakeHolderRoleName;
                        dr[1] = LocRM.GetString("tStake");
                        dt.Rows.Add(dr);
                    }
                }
                #endregion

                #region Incident Roles
                if (ContainerKey.StartsWith("IncidentId_"))
                {
                    if (!alList.Contains(UserRoleHelper.IssueCreatorRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.IssueCreatorRoleName;
                        dr[1] = LocRM.GetString("tICreator");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.IssueManagerRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.IssueManagerRoleName;
                        dr[1] = LocRM.GetString("tIManager");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.IssueResourceRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.IssueResourceRoleName;
                        dr[1] = LocRM.GetString("tIResource");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.IssueTodoResource))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.IssueTodoResource;
                        dr[1] = LocRM.GetString("tITodoResource");
                        dt.Rows.Add(dr);
                    }
                }
                #endregion

                #region Task Roles
                if (ContainerKey.StartsWith("TaskId_"))
                {
                    if (!alList.Contains(UserRoleHelper.TaskCreatorRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.TaskCreatorRoleName;
                        dr[1] = LocRM.GetString("tTkCreator");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.TaskManagerRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.TaskManagerRoleName;
                        dr[1] = LocRM.GetString("tTkManager");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.TaskResourceRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.TaskResourceRoleName;
                        dr[1] = LocRM.GetString("tTkResource");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.TaskTodoResource))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.TaskTodoResource;
                        dr[1] = LocRM.GetString("tTkTodoResource");
                        dt.Rows.Add(dr);
                    }
                }
                #endregion

                #region Document Roles
                if (ContainerKey.StartsWith("DocumentId_"))
                {
                    if (!alList.Contains(UserRoleHelper.DocumentCreatorRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.DocumentCreatorRoleName;
                        dr[1] = LocRM.GetString("tDocCreator");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.DocumentManagerRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.DocumentManagerRoleName;
                        dr[1] = LocRM.GetString("tDocManager");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.DocumentResourceRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.DocumentResourceRoleName;
                        dr[1] = LocRM.GetString("tDocResource");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.DocumentTodoResource))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.DocumentTodoResource;
                        dr[1] = LocRM.GetString("tDocTodoResource");
                        dt.Rows.Add(dr);
                    }
                }
                #endregion

                #region Event Roles
                if (ContainerKey.StartsWith("EventId_"))
                {
                    if (!alList.Contains(UserRoleHelper.EventCreatorRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.EventCreatorRoleName;
                        dr[1] = LocRM.GetString("tEvCreator");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.EventManagerRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.EventManagerRoleName;
                        dr[1] = LocRM.GetString("tEvManager");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.EventResourceRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.EventResourceRoleName;
                        dr[1] = LocRM.GetString("tEvResources");
                        dt.Rows.Add(dr);
                    }
                }
                #endregion

                #region ToDo Roles
                if (ContainerKey.StartsWith("ToDoId_"))
                {
                    if (!alList.Contains(UserRoleHelper.TodoCreatorRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.TodoCreatorRoleName;
                        dr[1] = LocRM.GetString("tTdCreator");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.TodoManagerRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.TodoManagerRoleName;
                        dr[1] = LocRM.GetString("tTdManager");
                        dt.Rows.Add(dr);
                    }
                    if (!alList.Contains(UserRoleHelper.TodoResourceRoleName))
                    {
                        dr    = dt.NewRow();
                        dr[0] = UserRoleHelper.TodoResourceRoleName;
                        dr[1] = LocRM.GetString("tTdResources");
                        dt.Rows.Add(dr);
                    }
                }
                #endregion

                #endregion
            }
            else
            {
                using (IDataReader reader = SecureGroup.GetListAllUsersInGroup(GroupID))
                {
                    while (reader.Read())
                    {
                        int iUserId = (int)reader["UserId"];
                        if (alList.Contains(iUserId.ToString()))
                        {
                            continue;
                        }
                        bool IsExternal = (bool)reader["IsExternal"];
                        byte Activity   = (byte)reader["Activity"];
                        if (!(IsExternal || Activity == (byte)Mediachase.IBN.Business.User.UserActivity.Pending))
                        {
                            dr    = dt.NewRow();
                            dr[0] = iUserId.ToString();
                            dr[1] = (string)reader["LastName"] + " " + (string)reader["FirstName"];
                            dt.Rows.Add(dr);
                        }
                    }
                }
            }
            DataView dv = new DataView(dt);

            ddUsers.DataSource     = dv;
            ddUsers.DataTextField  = "UserName";
            ddUsers.DataValueField = "UserId";
            ddUsers.DataBind();
            btnAdd.Disabled = false;
            if (GroupID > 0)
            {
                ddUsers.Items.Insert(0, new ListItem(LocRM.GetString("tAny"), "0"));
            }
            else if (ddUsers.Items.Count == 0)
            {
                ddUsers.Items.Insert(0, new ListItem(LocRM.GetString("tEmpty"), "0"));
                btnAdd.Disabled = true;
            }
        }
示例#11
0
        private void BindUsers(int GroupID)
        {
            ddUsers.Items.Clear();
            ReportAccessControList ACLr = (ReportAccessControList)ViewState["ACL"];
            ArrayList alList            = new ArrayList();

            foreach (ReportAccessControlEntry ACEr in ACLr)
            {
                alList.Add((ACEr.IsRoleAce)? ACEr.Role : ACEr.PrincipalId.ToString());
            }
            DataTable dt = new DataTable();

            dt.Columns.Add(new DataColumn("UserId", typeof(string)));                                           // 0
            dt.Columns.Add(new DataColumn("UserName", typeof(string)));                                         // 1
            DataRow dr;

            if (GroupID == 0)
            {
                if (!alList.Contains(UserRoleHelper.AdminRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.AdminRoleName;
                    dr[1] = LocRM.GetString("tAdmins");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.PowerProjectManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.PowerProjectManagerRoleName;
                    dr[1] = LocRM.GetString("tPPManager");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.HelpDeskManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.HelpDeskManagerRoleName;
                    dr[1] = LocRM.GetString("tHDM");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.GlobalProjectManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.GlobalProjectManagerRoleName;
                    dr[1] = LocRM.GetString("tGlobalPManager");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.GlobalExecutiveManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.GlobalExecutiveManagerRoleName;
                    dr[1] = LocRM.GetString("tGlobalEManager");
                    dt.Rows.Add(dr);
                }

                if (!alList.Contains(UserRoleHelper.TimeManagerRoleName))
                {
                    dr    = dt.NewRow();
                    dr[0] = UserRoleHelper.TimeManagerRoleName;
                    dr[1] = LocRM.GetString("tTM");
                    dt.Rows.Add(dr);
                }
            }
            else
            {
                using (IDataReader reader = SecureGroup.GetListAllUsersInGroup(GroupID))
                {
                    while (reader.Read())
                    {
                        int iUserId = (int)reader["UserId"];
                        if (alList.Contains(iUserId.ToString()))
                        {
                            continue;
                        }
                        bool IsExternal = (bool)reader["IsExternal"];
                        byte Activity   = (byte)reader["Activity"];
                        if (!(IsExternal || Activity == (byte)Mediachase.IBN.Business.User.UserActivity.Pending))
                        {
                            dr    = dt.NewRow();
                            dr[0] = iUserId.ToString();
                            dr[1] = (string)reader["LastName"] + " " + (string)reader["FirstName"];
                            dt.Rows.Add(dr);
                        }
                    }
                }
            }
            DataView dv = new DataView(dt);

            ddUsers.DataSource     = dv;
            ddUsers.DataTextField  = "UserName";
            ddUsers.DataValueField = "UserId";
            ddUsers.DataBind();
            btnAdd.Disabled = false;
            if (GroupID > 0)
            {
                ddUsers.Items.Insert(0, new ListItem(LocRM.GetString("tAny"), "0"));
            }
            else if (ddUsers.Items.Count == 0)
            {
                ddUsers.Items.Insert(0, new ListItem(LocRM.GetString("tEmpty"), "0"));
                btnAdd.Disabled = true;
            }
        }
示例#12
0
        private void BinddgUsers()
        {
            dgUsers.Columns[1].HeaderText = LocRM.GetString("LastName");
            dgUsers.Columns[2].HeaderText = LocRM.GetString("FirstName");
            dgUsers.Columns[3].HeaderText = LocRM.GetString("Email");
            dgUsers.Columns[4].HeaderText = LocRM.GetString("Location");
            dgUsers.Columns[5].HeaderText = LocRM.GetString("Phone");
            foreach (DataGridColumn dgc in dgUsers.Columns)
            {
                if (dgc.SortExpression == pc["dgUsers_SortColumn"].ToString())
                {
                    dgc.HeaderText += "&nbsp;<img alt='' src='../layouts/images/upbtnF.jpg'/>";
                }
                else if (dgc.SortExpression + " DESC" == pc["dgUsers_SortColumn"].ToString())
                {
                    dgc.HeaderText += "&nbsp;<img alt=''  src='../layouts/images/downbtnF.jpg'/>";
                }
            }

            DataTable dt = new DataTable();

            dt.Columns.Add("ObjectId", typeof(int));
            dt.Columns.Add("FirstName");
            dt.Columns.Add("LastName");
            dt.Columns.Add("Email");
            dt.Columns.Add("Location");
            dt.Columns.Add("Phone");
            dt.Columns.Add("ActionView");
            dt.Columns.Add("ActionEdit");

            dt.Columns.Add(new DataColumn("sortFirstName", typeof(string)));
            dt.Columns.Add(new DataColumn("sortLastName", typeof(string)));
            dt.Columns.Add(new DataColumn("sortEMail", typeof(string)));
            dt.Columns.Add(new DataColumn("sortLocation", typeof(string)));
            dt.Columns.Add(new DataColumn("sortPhone", typeof(string)));

            bool UserCanDelete = User.CanDelete();
            bool CanUpdate     = User.CanUpdateUserInfo();


            using (IDataReader reader =
                       (Security.IsUserInGroup(InternalSecureGroups.Administrator)) ?
                       User.GetListAll() :
                       User.GetListUsersBySubstring(String.Empty))
            {
                while (reader.Read())
                {
                    int iUserId = (int)reader["UserId"];
                    ///		UserId, Login, FirstName, LastName, Email, IsActive, IMGroupId, CreatedBy, Comments, IsExternal, IsPending, OriginalId
                    using (IDataReader UserReader = User.GetUserInfo(iUserId))
                    {
                        if (UserReader.Read())
                        {
                            DataRow dr = dt.NewRow();
                            dr["ObjectId"] = iUserId;
                            string sUser = CommonHelper.GetUserStatus(iUserId);
                            if (!(bool)UserReader["IsActive"])
                            {
                                dr["FirstName"] = String.Format("<span style='color:#999999'>{0}</span>", UserReader["FirstName"].ToString());
                                dr["LastName"]  = String.Format("<span style='color:#999999'>{0}</span>", UserReader["LastName"].ToString());
                            }
                            else
                            {
                                dr["FirstName"] = UserReader["FirstName"].ToString();
                                dr["LastName"]  = UserReader["LastName"].ToString();
                            }
                            dr["sortFirstName"] = UserReader["FirstName"].ToString();
                            dr["sortLastName"]  = UserReader["LastName"].ToString();
                            dr["Email"]         = "<a href='mailto:" + (string)UserReader["Email"] + "'>" + (string)UserReader["Email"] + "</a>";
                            dr["sortEMail"]     = (string)UserReader["Email"];
                            using (IDataReader UserProfile = User.GetUserProfile(iUserId))
                            {
                                if (UserProfile.Read())
                                {
                                    dr["Location"]     = UserProfile["location"].ToString();
                                    dr["sortLocation"] = UserProfile["location"].ToString();
                                    dr["Phone"]        = UserProfile["phone"].ToString();
                                    dr["sortPhone"]    = UserProfile["phone"].ToString();
                                }
                            }
                            if (CanUpdate)
                            {
                                if ((bool)UserReader["IsExternal"])
                                {
                                    dr["ActionEdit"] = "<a href='../Directory/ExternalEdit.aspx?UserID=" + iUserId.ToString() + "' title='" + LocRM.GetString("tEdit") + "'>"
                                                       + "<img alt='' src='../layouts/images/edit.GIF'/></a>";
                                }
                                else if ((bool)UserReader["IsPending"])
                                {
                                    dr["ActionEdit"] = "<a href='../Directory/UserEdit.aspx?UserID=" + iUserId.ToString() + "' title='" + LocRM.GetString("tApprove") + "'>"
                                                       + "<img alt='' src='../layouts/images/icon-key.GIF'/></a>";
                                }
                                else
                                {
                                    dr["ActionEdit"] = "<a href='../Directory/UserEdit.aspx?UserID=" + iUserId.ToString() + "' title='" + LocRM.GetString("tEdit") + "'>"
                                                       + "<img alt='' src='../layouts/images/edit.GIF'/></a>";
                                }
                            }
                            dr["ActionView"] = "<a href='../Directory/UserView.aspx?UserID=" + iUserId.ToString() + "' title='" + LocRM.GetString("tViewDetails") + "'>"
                                               + "<img alt='' src='../layouts/images/Icon-Search.GIF'/></a>";

                            dt.Rows.Add(dr);
                        }
                    }
                }
            }

            DataRow[] drassets = null;
            try
            {
                drassets = dt.Select("", pc["dgUsers_SortColumn"]);
            }
            catch
            {
                pc["dgUsers_SortColumn"] = "sortFirstName";
                drassets = dt.Select("", pc["dgUsers_SortColumn"]);
            }

            DataTable result = dt.Clone();

            foreach (DataRow dr1 in drassets)
            {
                DataRow _dr = result.NewRow();
                _dr.ItemArray = (Object[])dr1.ItemArray.Clone();
                result.Rows.Add(_dr);
            }

            if (!SecureGroup.CanDelete())
            {
                dgUsers.Columns[8].Visible = false;
            }

            if (pc["ds_PageSize"] != null)
            {
                dgUsers.PageSize = int.Parse(pc["ds_PageSize"]);
            }


            int pageindex = dgUsers.CurrentPageIndex;
            int ppi       = dt.Rows.Count / dgUsers.PageSize;

            if (dt.Rows.Count % dgUsers.PageSize == 0)
            {
                ppi = ppi - 1;
            }

            if (pageindex > ppi)
            {
                dgUsers.CurrentPageIndex = 0;
            }


            dgUsers.DataSource = new DataView(result);
            dgUsers.DataBind();

            foreach (DataGridItem dgi in dgUsers.Items)
            {
                int         ID        = int.Parse(dgi.Cells[0].Text);
                bool        CanDelete = User.CanDelete(ID);
                ImageButton ib        = (ImageButton)dgi.FindControl("ibDelete");
                if (ib != null && CanDelete)
                {
                    ib.Attributes.Add("onclick", String.Format("return DeleteUser({0})", ID));
                    ib.Visible = true;
                }
            }
        }
示例#13
0
        private void BindValues()
        {
            Dictionary <string, string>           items;
            List <KeyValuePair <string, string> > sortedItems;

            int managerId     = -1;
            int execManagerId = -1;

            using (IDataReader reader = Project.GetProject(ProjectId))
            {
                if (reader.Read())
                {
                    managerId = (int)reader["ManagerId"];
                    if (reader["ExecutiveManagerId"] != DBNull.Value)
                    {
                        execManagerId = (int)reader["ExecutiveManagerId"];
                    }
                }
            }

            #region project managers
            items = new Dictionary <string, string>();
            using (IDataReader reader = SecureGroup.GetListAllUsersInGroup((int)InternalSecureGroups.ProjectManager))
            {
                while (reader.Read())
                {
                    items.Add(reader["UserId"].ToString(), reader["LastName"].ToString() + " " + reader["FirstName"].ToString());
                }
            }

            // Sort by value
            sortedItems = new List <KeyValuePair <string, string> >(items);
            sortedItems.Sort(
                delegate(KeyValuePair <string, string> firstPair, KeyValuePair <string, string> nextPair)
            {
                return(firstPair.Value.CompareTo(nextPair.Value));
            }
                );

            // DropDown with Managers
            if (Security.IsUserInGroup(InternalSecureGroups.PowerProjectManager))
            {
                foreach (KeyValuePair <string, string> kvp in sortedItems)
                {
                    ddlManager.Items.Add(new ListItem(kvp.Value, kvp.Key));
                }

                CommonHelper.SafeSelect(ddlManager, managerId.ToString());
                lblManager.Visible = false;
            }
            else
            {
                ddlManager.Visible = false;
                lblManager.Text    = CommonHelper.GetUserStatus(managerId);
            }
            #endregion

            #region executive managers
            using (IDataReader reader = SecureGroup.GetListAllUsersInGroup((int)InternalSecureGroups.ExecutiveManager))
            {
                while (reader.Read())
                {
                    if (!items.ContainsKey(reader["UserId"].ToString()))
                    {
                        items.Add(reader["UserId"].ToString(), reader["LastName"].ToString() + " " + reader["FirstName"].ToString());
                    }
                }
            }

            // Sort by value
            sortedItems = new List <KeyValuePair <string, string> >(items);
            sortedItems.Sort(
                delegate(KeyValuePair <string, string> firstPair, KeyValuePair <string, string> nextPair)
            {
                return(firstPair.Value.CompareTo(nextPair.Value));
            }
                );

            // DropDown with Executive Managers
            ListItem li = new ListItem(LocRM.GetString("NotSet"), "0");
            ddlExecManager.Items.Add(li);
            foreach (KeyValuePair <string, string> kvp in sortedItems)
            {
                ddlExecManager.Items.Add(new ListItem(kvp.Value, kvp.Key));
            }
            CommonHelper.SafeSelect(ddlExecManager, execManagerId.ToString());
            #endregion
        }
示例#14
0
        private void BindToolbar()
        {
            secHeader.Title = "&nbsp;";            // LocRM.GetString("tTitle");

            string text, link;

            if (dgMembers.Items.Count > 0)
            {
                ArrayList userList = new ArrayList();
                DataTable dt       = (DataTable)ViewState["Resources"];
                foreach (DataRow row in dt.Rows)
                {
                    int principalId = (int)row["UserId"];
                    if (Mediachase.IBN.Business.User.IsGroup(principalId))
                    {
                        using (IDataReader reader = SecureGroup.GetListAllUsersInGroup(principalId, false))
                        {
                            while (reader.Read())
                            {
                                if (!userList.Contains((int)reader["UserId"]))
                                {
                                    userList.Add((int)reader["UserId"]);
                                }
                            }
                        }
                    }
                    else
                    {
                        if (!userList.Contains(principalId))
                        {
                            userList.Add(principalId);
                        }
                    }
                }

                string users = String.Empty;
                foreach (int userId in userList)
                {
                    if (!String.IsNullOrEmpty(users))
                    {
                        users += ",";
                    }

                    users += userId.ToString();
                }

                text = String.Format(CultureInfo.InvariantCulture,
                                     "<img alt='' src='{0}'/> {1}",
                                     Page.ResolveUrl("~/Layouts/Images/ResUtil.png"),
                                     LocRM2.GetString("Utilization"));
                link = String.Format(CultureInfo.InvariantCulture,
                                     "javascript:OpenPopUpNoScrollWindow('{0}?users={1}&amp;ObjectId={2}&amp;ObjectTypeId={3}',750,300)",
                                     Page.ResolveUrl("~/Common/ResourceUtilGraphForObject.aspx"),
                                     users,
                                     ToDoID,
                                     (int)ObjectTypes.ToDo);
                secHeader.AddLink(text, link);
            }

            text = String.Format(CultureInfo.InvariantCulture,
                                 "<img alt='' src='{0}'/> {1}",
                                 Page.ResolveUrl("~/Layouts/Images/saveitem.gif"),
                                 LocRM.GetString("Save"));
            link = "javascript:FuncSave();";
            secHeader.AddLink(text, link);

            secHeader.AddSeparator();

            text = String.Format(CultureInfo.InvariantCulture,
                                 "<img alt='' src='{0}'/> {1}",
                                 Page.ResolveUrl("~/Layouts/Images/cancel.gif"),
                                 LocRM.GetString("Cancel"));
            if (Request["closeFramePopup"] != null)
            {
                link = String.Format(CultureInfo.InvariantCulture,
                                     "javascript:try{{window.parent.{0}();}}catch(ex){{;}}",
                                     Request["closeFramePopup"]);
            }
            else
            {
                link = "javascript:window.close();";
            }
            secHeader.AddLink(text, link);
        }
示例#15
0
        protected void btnSave_ServerClick(object sender, System.EventArgs e)
        {
            Page.Validate();
            if (!Page.IsValid)
            {
                return;
            }
            string    sGroups  = iGroups.Value;
            ArrayList alGroups = new ArrayList();

            while (sGroups.Length > 0)
            {
                alGroups.Add(Int32.Parse(sGroups.Substring(0, sGroups.IndexOf(","))));
                sGroups = sGroups.Remove(0, sGroups.IndexOf(",") + 1);
            }

            foreach (ListItem liRole in lbSecurityRoles.Items)
            {
                if (liRole.Selected)
                {
                    alGroups.Add(Int32.Parse(liRole.Value));
                }
            }

            string filename = "";

            System.IO.Stream strres = new System.IO.MemoryStream();

            if (fPhoto.PostedFile != null && fPhoto.PostedFile.ContentLength > 0)
            {
                System.Drawing.Image img;
                string extension = "";
                img = Mediachase.Ibn.Web.UI.Images.ProcessImage(fPhoto.PostedFile, out extension);
                string photoid = Guid.NewGuid().ToString().Substring(0, 6);
                filename = photoid + extension;
                img.Save(strres, img.RawFormat);
                strres.Position = 0;
            }

            try
            {
                int imgroup = int.Parse(ddlIMGroup.SelectedItem.Value);

                bool bApprovePending = false;
                if (UID > 0)
                {
                    if (User.CheckUserGroup(Security.CurrentUser.UserID, (int)InternalSecureGroups.Administrator))
                    {
                        if (tdWindowsLoginTextBox.Visible)
                        {
                            User.UpdateWindowsLogin(UID, tbWindowsLogin.Text.Trim());
                        }
                    }
                    if ((bool)ViewState[UID + "IsPending"])
                    {
                        User.ApprovePending(UID, (lblLogin.Text != "") ? lblLogin.Text : txtLogin.Text, txtPassword.Text, txtFirstName.Text, txtLastName.Text, txtEmail.Text,
                                            chbIsActive.Checked, alGroups, imgroup, txtPhone.Text, txtFax.Text, txtMobile.Text,
                                            txtJobTitle.Text, txtDepartment.Text, txtCompany.Text, txtLocation.Text, filename, strres,
                                            int.Parse(ProfileList.SelectedValue));
                        ViewState[UID + "IsPending"] = false;
                        bApprovePending = true;
                    }
                    else if ((bool)ViewState[UID + "IsExternal"])
                    {
                        User.CreateFromExternal(UID, txtLogin.Text, txtPassword.Text, txtFirstName.Text, txtLastName.Text, txtEmail.Text,
                                                chbIsActive.Checked, alGroups, imgroup, txtPhone.Text, txtFax.Text, txtMobile.Text,
                                                txtJobTitle.Text, txtDepartment.Text, txtCompany.Text, txtLocation.Text, int.Parse(lstTimeZone.SelectedItem.Value),
                                                int.Parse(lstLang.SelectedItem.Value), filename, strres);
                        ViewState[UID + "IsExternal"] = false;
                    }
                    else
                    {
                        User.UpdateUserInfo(UID, txtPassword.Text, txtFirstName.Text, txtLastName.Text, txtEmail.Text, chbIsActive.Checked,
                                            alGroups, imgroup, txtPhone.Text, txtFax.Text, txtMobile.Text,
                                            txtJobTitle.Text, txtDepartment.Text, txtCompany.Text, txtLocation.Text, filename, strres, cbDelete.Checked,
                                            int.Parse(ProfileList.SelectedValue));
                    }
                }
                else
                {
                    UID = User.Create(txtLogin.Text, txtPassword.Text, txtFirstName.Text, txtLastName.Text, txtEmail.Text, chbIsActive.Checked,
                                      alGroups, imgroup, txtPhone.Text, txtFax.Text, txtMobile.Text,
                                      txtJobTitle.Text, txtDepartment.Text, txtCompany.Text, txtLocation.Text, int.Parse(lstTimeZone.SelectedItem.Value),
                                      int.Parse(lstLang.SelectedItem.Value), filename, strres, int.Parse(ProfileList.SelectedValue));
                }
                if (UID != Security.CurrentUser.UserID)
                {
                    if (!bApprovePending)
                    {
                        Response.Redirect("../Directory/UserView.aspx?UserID=" + UID);
                    }
                    else
                    {
                        Util.CommonHelper.ReloadTopFrame("ActiveWork.ascx", "../Directory/UserView.aspx?UserID=" + UID, Response);
                    }
                }
                else
                {
                    Picture.Visible = false;
                    Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(),
                                                            "window.top.location.href='../Directory/UserView.aspx?UserID=" + UID.ToString() + "';", true);
                }
            }
            catch (MaxUsersCountException)
            {
                lblError.Text    = LocRM.GetString("MaxUsersCount");
                lblError.Visible = true;
            }
            catch (EmailDuplicationException)
            {
                int    iUserId   = User.GetUserByEmail(txtEmail.Text);
                string sUserName = String.Empty;
                if (iUserId > 0)
                {
                    sUserName = CommonHelper.GetUserStatusPureName(iUserId);
                }
                lblError.Text    = LocRM.GetString("EmailDuplicate") + " (" + sUserName + ")";
                lblError.Visible = true;
            }
            catch (LoginDuplicationException)
            {
                lblError.Text    = LocRM.GetString("DuplicatedLogin");
                lblError.Visible = true;
            }
            catch (PasswordRequiredException)
            {
                for (int i = 0; i < alGroups.Count; i++)
                {
                    using (IDataReader reader = SecureGroup.GetGroup((int)alGroups[i]))
                    {
                        if (reader.Read())
                        {
                            lbSelectedGroups.Items.Add(new ListItem(CommonHelper.GetResFileString(reader["GroupName"].ToString()), ((int)alGroups[i]).ToString()));
                            ListItem li = lbAvailableGroups.Items.FindByValue(((int)alGroups[i]).ToString());
                            if (li != null)
                            {
                                lbAvailableGroups.Items.Remove(li);
                            }
                        }
                    }
                }
                PasswordValidator1.Validate();
                PasswordValidator1.Enabled = true;
                lblError.Text    = LocRM.GetString("PasswordRequest");
                lblError.Visible = true;
            }
        }
示例#16
0
        private void BindUsers(int groupId)
        {
            lbUsers.Items.Clear();
            DataTable dt = new DataTable();
            DataRow   dr;

            dt.Columns.Add(new DataColumn("UserId", typeof(int)));                                              // 0
            dt.Columns.Add(new DataColumn("UserName", typeof(string)));                                         // 1

            if (groupId == -1)
            {
                dr    = dt.NewRow();
                dr[0] = -1;
                dr[1] = LocRM.GetString("tManager");
                dt.Rows.Add(dr);

                dr    = dt.NewRow();
                dr[0] = -2;
                dr[1] = LocRM.GetString("tTeam");
                dt.Rows.Add(dr);

                dr    = dt.NewRow();
                dr[0] = -3;
                dr[1] = LocRM.GetString("tSponsors");
                dt.Rows.Add(dr);

                dr    = dt.NewRow();
                dr[0] = -4;
                dr[1] = LocRM.GetString("tStake");
                dt.Rows.Add(dr);

                dr    = dt.NewRow();
                dr[0] = -5;
                dr[1] = LocRM.GetString("tExMan");
                dt.Rows.Add(dr);
            }
            else if (groupId == 0)             // Favorites
            {
                DataTable favorites = Mediachase.IBN.Business.Common.GetListFavoritesDT(ObjectTypes.User);
                foreach (DataRow row in favorites.Rows)
                {
                    dr    = dt.NewRow();
                    dr[0] = (int)row["ObjectId"];
                    dr[1] = (string)row["Title"];
                    dt.Rows.Add(dr);
                }
            }
            else
            {
                using (IDataReader reader = SecureGroup.GetListAllUsersInGroup(groupId))
                {
                    while (reader.Read())
                    {
                        int  iUserId    = (int)reader["UserId"];
                        bool IsExternal = (bool)reader["IsExternal"];
                        byte Activity   = (byte)reader["Activity"];
                        if (!(IsExternal || Activity == (byte)Mediachase.IBN.Business.User.UserActivity.Pending))
                        {
                            dr    = dt.NewRow();
                            dr[0] = iUserId;
                            dr[1] = reader["LastName"].ToString() + " " + reader["FirstName"].ToString();
                            dt.Rows.Add(dr);
                        }
                    }
                }
            }

            lbUsers.DataTextField  = "UserName";
            lbUsers.DataValueField = "UserId";
            lbUsers.DataSource     = dt.DefaultView;
            lbUsers.DataBind();
        }
示例#17
0
        private void BindValues()
        {
            BindVisibility();

            btnAddOneGr.Attributes.Add("onclick", "MoveOne(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); return false;");
            btnAddAllGr.Attributes.Add("onclick", "MoveAll(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); return false;");
            btnRemoveOneGr.Attributes.Add("onclick", "MoveOne(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + "); return false;");
            btnRemoveAllGr.Attributes.Add("onclick", "MoveAll(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + ");return false;");

            lbAvailableGroups.Attributes.Add("ondblclick", "MoveOne(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); return false;");
            lbSelectedGroups.Attributes.Add("ondblclick", "MoveOne(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + "); return false;");

            ddlIMGroup.DataTextField  = "IMGroupName";
            ddlIMGroup.DataValueField = "IMGroupId";
            ddlIMGroup.DataSource     = IMGroup.GetListIMGroupsWithoutPartners();
            ddlIMGroup.DataBind();

            using (IDataReader reader = SecureGroup.GetListGroupsWithParameters(false, false, false, false, false, false, false, false, false, false, false))
            {
                while (reader.Read())
                {
                    lbAvailableGroups.Items.Add(new ListItem(CommonHelper.GetResFileString(reader["GroupName"].ToString()), reader["GroupId"].ToString()));
                }
            }

            lbSecurityRoles.Items.Clear();
            int      iRoleId   = (int)InternalSecureGroups.Administrator;
            ListItem liSecRole = new ListItem(GetGroupTitleById(iRoleId), iRoleId.ToString());

            lbSecurityRoles.Items.Add(liSecRole);

            iRoleId   = (int)InternalSecureGroups.HelpDeskManager;
            liSecRole = new ListItem(GetGroupTitleById(iRoleId), iRoleId.ToString());
            lbSecurityRoles.Items.Add(liSecRole);

            iRoleId   = (int)InternalSecureGroups.PowerProjectManager;
            liSecRole = new ListItem(GetGroupTitleById(iRoleId), iRoleId.ToString());
            lbSecurityRoles.Items.Add(liSecRole);

            iRoleId   = (int)InternalSecureGroups.ProjectManager;
            liSecRole = new ListItem(GetGroupTitleById(iRoleId), iRoleId.ToString());

            if (Configuration.ProjectManagementEnabled)
            {
                liSecRole.Selected = true;
            }

            lbSecurityRoles.Items.Add(liSecRole);

            iRoleId   = (int)InternalSecureGroups.ExecutiveManager;
            liSecRole = new ListItem(GetGroupTitleById(iRoleId), iRoleId.ToString());
            lbSecurityRoles.Items.Add(liSecRole);

            iRoleId   = (int)InternalSecureGroups.TimeManager;
            liSecRole = new ListItem(GetGroupTitleById(iRoleId), iRoleId.ToString());
            lbSecurityRoles.Items.Add(liSecRole);

            lstLang.DataSource     = Common.GetListLanguages();
            lstLang.DataTextField  = "FriendlyName";
            lstLang.DataValueField = "LanguageId";
            lstLang.DataBind();
            int LanguageId = Security.CurrentUser.LanguageId;

            Util.CommonHelper.SafeSelect(lstLang, LanguageId.ToString());

            lstTimeZone.DataSource     = User.GetListTimeZone();
            lstTimeZone.DataTextField  = "DisplayName";
            lstTimeZone.DataValueField = "TimeZoneId";
            lstTimeZone.DataBind();

            int TimeZoneId = Security.CurrentUser.TimeZoneId;

            lstTimeZone.ClearSelection();
            ListItem li = lstTimeZone.Items.FindByValue(TimeZoneId.ToString());

            if (li != null)
            {
                li.Selected = true;
            }

            using (IDataReader reader = SecureGroup.GetListChildGroups((int)InternalSecureGroups.Partner))
            {
                while (reader.Read())
                {
                    ddPartnerGroups.Items.Add(new ListItem(CommonHelper.GetResFileString(reader["GroupName"].ToString()), reader["GroupId"].ToString()));
                }
            }

            if (ddPartnerGroups.Items.Count == 0)
            {
                ListItem liUserType = ddUserType.Items.FindByValue("1");
                if (liUserType != null)
                {
                    ddUserType.Items.Remove(liUserType);
                    if (ddUserType.SelectedIndex < 0)
                    {
                        ddUserType.SelectedIndex = 0;
                    }
                    BindVisibility();
                }
            }

            EntityObject[] profiles = BusinessManager.List(CustomizationProfileEntity.ClassName, (new FilterElementCollection()).ToArray(), (new SortingElementCollection(new SortingElement("Name", SortingElementType.Asc))).ToArray());
            foreach (CustomizationProfileEntity profile in profiles)
            {
                ProfileList.Items.Add(new ListItem(CommonHelper.GetResFileString(profile.Name), profile.PrimaryKeyId.ToString()));
            }
            ListItem liProfile = ProfileList.Items.FindByValue("-1");

            if (liProfile != null)
            {
                liProfile.Selected = true;
            }

            SelectGroup();
        }
示例#18
0
        protected void btnSave_ServerClick(object sender, System.EventArgs e)
        {
            Page.Validate();
            if (!Page.IsValid)
            {
                return;
            }

            string    sGroups  = iGroups.Value;
            ArrayList alGroups = new ArrayList();

            while (sGroups.Length > 0)
            {
                alGroups.Add(Int32.Parse(sGroups.Substring(0, sGroups.IndexOf(","))));
                sGroups = sGroups.Remove(0, sGroups.IndexOf(",") + 1);
            }

            // Client
            PrimaryKeyId orgUid     = PrimaryKeyId.Empty;
            PrimaryKeyId contactUid = PrimaryKeyId.Empty;

            if (ClientControl.ObjectType == OrganizationEntity.GetAssignedMetaClassName())
            {
                orgUid = ClientControl.ObjectId;
            }
            else if (ClientControl.ObjectType == ContactEntity.GetAssignedMetaClassName())
            {
                contactUid = ClientControl.ObjectId;
            }

            if (edit == "1")
            {
                if (groupId == (int)InternalSecureGroups.Partner || SecureGroup.IsPartner(groupId))
                {
                    SecureGroup.UpdatePartner(groupId, contactUid, orgUid, tbGroupTitle.Text, alGroups);
                }
                else
                {
                    SecureGroup.UpdateGroup(groupId, tbGroupTitle.Text);
                }
                Response.Redirect("../Directory/Directory.aspx?Tab=0&SGroupID=" + groupId.ToString());
            }
            else
            {
                int newGroupId = 1;
                if (groupId == (int)InternalSecureGroups.Partner || SecureGroup.IsPartner(groupId))
                {
                    byte[] groupLogo = null;

                    FileInfo   fi = new FileInfo(Server.MapPath(GlobalResourceManager.Strings["IMGroupLogoUrl"]));
                    FileStream fs = fi.OpenRead();
                    groupLogo = new byte[fi.Length];
                    int nBytesRead = fs.Read(groupLogo, 0, (int)fi.Length);

                    newGroupId = SecureGroup.CreatePartner(tbGroupTitle.Text, contactUid, orgUid, alGroups, groupLogo);
                }
                else
                {
                    newGroupId = SecureGroup.Create(groupId, tbGroupTitle.Text);
                }
                Response.Redirect("../Directory/Directory.aspx?Tab=0");
            }
        }
示例#19
0
        private void BindData()
        {
            lblGroupTitle.Text = LocRM.GetString("GroupTitle");
            if (edit == "1")
            {
                string       gTitle     = "";
                PrimaryKeyId orgUid     = PrimaryKeyId.Empty;
                PrimaryKeyId contactUid = PrimaryKeyId.Empty;
                using (IDataReader rdr = SecureGroup.GetGroup(groupId))
                {
                    if (rdr.Read())
                    {
                        gTitle = (string)rdr["GroupName"];
                        if (rdr["OrgUid"] != DBNull.Value)
                        {
                            orgUid = PrimaryKeyId.Parse(rdr["OrgUid"].ToString());
                        }
                        if (rdr["ContactUid"] != DBNull.Value)
                        {
                            contactUid = PrimaryKeyId.Parse(rdr["ContactUid"].ToString());
                        }
                    }
                }
                tbGroupTitle.Text = HttpUtility.HtmlDecode(gTitle);

                if (groupId == (int)InternalSecureGroups.Partner || SecureGroup.IsPartner(groupId))
                {
                    using (IDataReader reader = SecureGroup.GetListGroupsByPartner(groupId))
                    {
                        while (reader.Read())
                        {
                            lbSelectedGroups.Items.Add(new ListItem(CommonHelper.GetResFileString(reader["GroupName"].ToString()), reader["GroupId"].ToString()));
                        }
                    }

                    for (int i = 0; i < lbSelectedGroups.Items.Count; i++)
                    {
                        if (lbAvailableGroups.Items.FindByValue(lbSelectedGroups.Items[i].Value) != null)
                        {
                            lbAvailableGroups.Items.Remove(lbAvailableGroups.Items.FindByValue(lbSelectedGroups.Items[i].Value));
                        }
                        iGroups.Value += lbSelectedGroups.Items[i].Value + ",";
                    }

                    if (orgUid != PrimaryKeyId.Empty)
                    {
                        ClientControl.ObjectType = OrganizationEntity.GetAssignedMetaClassName();
                        ClientControl.ObjectId   = orgUid;
                    }
                    else if (contactUid != PrimaryKeyId.Empty)
                    {
                        ClientControl.ObjectType = ContactEntity.GetAssignedMetaClassName();
                        ClientControl.ObjectId   = contactUid;
                    }
                    else
                    {
                        ClientControl.ObjectType = String.Empty;
                        ClientControl.ObjectId   = PrimaryKeyId.Empty;
                    }
                }
            }
        }
示例#20
0
        private int MakeUser(string sfirst, string slast, string semail, bool badmin)
        {
            ArrayList alGroups = new ArrayList();

            alGroups.Add((int)InternalSecureGroups.ProjectManager);
            using (IDataReader reader = SecureGroup.GetListGroups())
            {
                while (reader.Read())
                {
                    int iGroupId = (int)reader["GroupId"];
                    if (iGroupId > 8)
                    {
                        alGroups.Add(iGroupId);
                        break;
                    }
                }
            }
            int iIMGroup = 0;

            using (DataTable table = IMGroup.GetListIMGroup())
            {
                foreach (DataRow row in table.Rows)
                {
                    if (!(bool)row["is_partner"])
                    {
                        iIMGroup = (int)row["IMGroupId"];
                        break;
                    }
                }
            }

            int userId = -1;

            #region makeuser
            if (semail != "")
            {
                int id = User.GetUserByEmail(semail);
                if (id <= 0)
                {
                    string strLogin = semail.Substring(0, semail.IndexOf("@"));
                    int    i        = 0;
                    bool   fl       = false;
                    do
                    {
                        string tmpLogin = strLogin;
                        if (i > 0)
                        {
                            tmpLogin = tmpLogin + i.ToString();
                        }
                        using (IDataReader reader = User.GetUserInfoByLogin(tmpLogin))
                        {
                            if (reader.Read())
                            {
                                fl = true;
                            }
                            else
                            {
                                fl = false;
                            }
                        }
                        i++;
                    }while (fl);

                    string sFirst = (sfirst == "") ? strLogin : sfirst;
                    string sLast  = (slast == "") ? strLogin : slast;
                    if (i > 1)
                    {
                        strLogin = strLogin + (i - 1).ToString();
                    }

                    ArrayList newList = new ArrayList(alGroups);
                    if (badmin)
                    {
                        newList.Add((int)InternalSecureGroups.Administrator);
                    }

                    userId = User.Create(strLogin, "ibn", sFirst, sLast, semail, true,
                                         newList, iIMGroup, "", "", "", "", "", "", "", Security.CurrentUser.TimeZoneId,
                                         Security.CurrentUser.LanguageId, null, null, -1);
                }
            }
            #endregion

            return(userId);
        }
示例#21
0
        private void BindToolbar()
        {
            using (IDataReader reader = SecureGroup.GetGroup(GroupID))
            {
                if (reader.Read())
                {
                    secHeader.Title = CommonHelper.GetResFileString((string)reader["GroupName"]);
                }
            }

            ComponentArt.Web.UI.MenuItem topMenuItem = new ComponentArt.Web.UI.MenuItem();
            topMenuItem.Text                = /*"<img border='0' src='../Layouts/Images/downbtn.gif' width='9px' height='5px' align='absmiddle'/>&nbsp;" + */ LocRM2.GetString("Actions");
            topMenuItem.Look.LeftIconUrl    = ResolveUrl("~/Layouts/Images/downbtn1.gif");
            topMenuItem.Look.LeftIconHeight = Unit.Pixel(5);
            topMenuItem.Look.LeftIconWidth  = Unit.Pixel(16);
            topMenuItem.LookId              = "TopItemLook";
            ComponentArt.Web.UI.MenuItem subItem;

            #region new group
            if (SecureGroup.CanCreate(GroupID))
            {
                subItem = new ComponentArt.Web.UI.MenuItem();
                subItem.Look.LeftIconUrl    = "~/Layouts/Images/icons/newgroup.gif";
                subItem.Look.LeftIconWidth  = Unit.Pixel(16);
                subItem.Look.LeftIconHeight = Unit.Pixel(16);
                subItem.NavigateUrl         = "~/Directory/AddGroup.aspx?Type=0&GroupID=" + GroupID.ToString();
                subItem.Text = LocRM.GetString("AddGroup");
                topMenuItem.Items.Add(subItem);
            }
            #endregion

            #region edit group
            if (SecureGroup.CanUpdate() && GroupID > 9)
            {
                subItem = new ComponentArt.Web.UI.MenuItem();
                subItem.Look.LeftIconUrl    = "~/Layouts/Images/icons/editgroup.gif";
                subItem.Look.LeftIconWidth  = Unit.Pixel(16);
                subItem.Look.LeftIconHeight = Unit.Pixel(16);
                subItem.NavigateUrl         = "~/Directory/AddGroup.aspx?Type=0&Edit=1&GroupID=" + GroupID.ToString();
                subItem.Text = LocRM.GetString("EditGroup");
                topMenuItem.Items.Add(subItem);
            }
            #endregion

            #region move
            if (SecureGroup.CanMove(GroupID))
            {
                subItem = new ComponentArt.Web.UI.MenuItem();
                subItem.Look.LeftIconUrl    = "~/Layouts/Images/icons/movegroup.gif";
                subItem.Look.LeftIconWidth  = Unit.Pixel(16);
                subItem.Look.LeftIconHeight = Unit.Pixel(16);
                subItem.NavigateUrl         = "~/Directory/MoveGroup.aspx?GroupID=" + GroupID.ToString();
                subItem.Text = LocRM.GetString("MoveGroup");
                topMenuItem.Items.Add(subItem);
            }
            #endregion

            #region delete
            if (SecureGroup.CanDelete(GroupID))
            {
                subItem = new ComponentArt.Web.UI.MenuItem();
                subItem.Look.LeftIconUrl    = "~/Layouts/Images/icons/deletegroup.gif";
                subItem.Look.LeftIconWidth  = Unit.Pixel(16);
                subItem.Look.LeftIconHeight = Unit.Pixel(16);
                subItem.ClientSideCommand   = "javascript:DeleteGroup()";
                subItem.Text = LocRM.GetString("DeleteGroup");
                topMenuItem.Items.Add(subItem);
            }
            #endregion

            #region new user
            if (User.CanCreateExternal() || User.CanCreatePending() || User.CanCreate())
            {
                subItem = new ComponentArt.Web.UI.MenuItem();
                subItem.Look.LeftIconUrl    = "~/Layouts/Images/icons/newuser.gif";
                subItem.Look.LeftIconWidth  = Unit.Pixel(16);
                subItem.Look.LeftIconHeight = Unit.Pixel(16);
                subItem.NavigateUrl         = "~/Directory/MultipleUserEdit.aspx?GroupID=" + GroupID;
                subItem.Text = LocRM.GetString("AddUser");
                topMenuItem.Items.Add(subItem);
            }
            #endregion

            if (topMenuItem.Items.Count > 0)
            {
                secHeader.ActionsMenu.Items.Add(topMenuItem);
            }
        }
示例#22
0
        private void BindStep1()
        {
            tbTitle.Text = String.Empty;

            ddType.DataValueField = "TypeId";
            ddType.DataTextField  = "TypeName";
            ddType.DataSource     = Project.GetListProjectTypes();
            ddType.DataBind();

            ddCurrency.DataTextField  = "CurrencySymbol";
            ddCurrency.DataValueField = "CurrencyId";
            ddCurrency.DataSource     = Project.GetListCurrency();
            ddCurrency.DataBind();

            ddPhase.DataTextField  = "PhaseName";
            ddPhase.DataValueField = "PhaseId";
            ddPhase.DataSource     = Project.GetListProjectPhases();
            ddPhase.DataBind();

            ddPriority.DataTextField  = "PriorityName";
            ddPriority.DataValueField = "PriorityId";
            ddPriority.DataSource     = Project.GetListPriorities();
            ddPriority.DataBind();
            ddPriority.SelectedValue = ((int)Priority.Normal).ToString();

            dtcStartDate.SelectedDate = User.GetLocalDate(Security.CurrentUser.TimeZoneId, DateTime.UtcNow.Date);
            dtcEndDate.SelectedDate   = dtcStartDate.SelectedDate.AddMonths(1);

            ListItem li = new ListItem(LocRM.GetString("s4NotSet"), "0");

            ddExecutive.Items.Add(li);

            ArrayList alManagers = new ArrayList();

            using (IDataReader iManagers = SecureGroup.GetListAllUsersInGroup((int)InternalSecureGroups.ProjectManager))
            {
                while (iManagers.Read())
                {
                    li = new ListItem(iManagers["LastName"].ToString() + " " + iManagers["FirstName"].ToString(), iManagers["UserId"].ToString());
                    alManagers.Add(li);
                }
            }

            for (int i = 0; i < alManagers.Count; i++)
            {
                ListItem liExecItem = new ListItem(((ListItem)alManagers[i]).Text, ((ListItem)alManagers[i]).Value);
                ddExecutive.Items.Add(liExecItem);
            }

            lbCategories.DataTextField  = "CategoryName";
            lbCategories.DataValueField = "CategoryId";
            lbCategories.DataSource     = Project.GetListProjectCategories();
            lbCategories.DataBind();

            lbPortfolios.DataTextField  = "Title";
            lbPortfolios.DataValueField = "ProjectGroupId";
            lbPortfolios.DataSource     = ProjectGroup.GetProjectGroups();
            lbPortfolios.DataBind();

            ddlBlockType.DataTextField  = "Title";
            ddlBlockType.DataValueField = "primaryKeyId";
            ddlBlockType.DataSource     = Mediachase.IbnNext.TimeTracking.TimeTrackingBlockType.List(Mediachase.Ibn.Data.FilterElement.EqualElement("IsProject", "1"));
            ddlBlockType.DataBind();

            ddlCalendar.DataTextField  = "CalendarName";
            ddlCalendar.DataValueField = "CalendarId";
            ddlCalendar.DataSource     = Project.GetListCalendars(0);
            ddlCalendar.DataBind();

            cbNotify.Text = LocRM.GetString("s6Notify");
        }
        private void BindTopBlock()
        {
            using (IDataReader reader = Project.GetProject(ProjectID))
            {
                if (reader.Read())
                {
                    Printheader1.Filter   = "&nbsp;&nbsp;&nbsp;&nbsp;" + LocRM.GetString("tProject") + " : " + reader["Title"].ToString();
                    lblStartDate.Text     = ((DateTime)reader["TargetStartDate"]).ToShortDateString();
                    lblTargetEndDate.Text = ((DateTime)reader["TargetFinishDate"]).ToShortDateString();
                    if (reader["ActualFinishDate"] != DBNull.Value)
                    {
                        lblActualEndDate.Text = ((DateTime)reader["ActualFinishDate"]).ToShortDateString();
                    }
                    else
                    {
                        lblActualEndDate.Text = LocRM.GetString("tNA");
                    }
                    lblProjectStatus.Text = reader["StatusName"].ToString();
                    lblProjectType.Text   = reader["TypeName"].ToString();
                    lblCustomer.Text      = reader["ClientName"].ToString();
                }
            }

            StringBuilder sbSponsors = new StringBuilder();

            using (IDataReader reader = Project.GetListSponsors(ProjectID))
            {
                while (reader.Read())
                {
                    bool IsGroup    = (bool)reader["IsGroup"];
                    int  iSponsorId = (int)reader["PrincipalId"];
                    if (IsGroup)
                    {
                        using (IDataReader principal = SecureGroup.GetGroup(iSponsorId))
                        {
                            if (principal.Read())
                            {
                                sbSponsors.Append(CommonHelper.GetResFileString(principal["GroupName"].ToString()) + "<br>");
                            }
                        }
                    }
                    else
                    {
                        using (IDataReader principal = User.GetUserInfo(iSponsorId, false))
                        {
                            if (principal.Read())
                            {
                                sbSponsors.Append(principal["LastName"] + " " + principal["FirstName"] + "<br>");
                            }
                        }
                    }
                }
            }
            if (sbSponsors.Length == 0)
            {
                sbSponsors.Append(LocRM.GetString("tEmpty"));
            }

            StringBuilder sbStake = new StringBuilder();

            using (IDataReader reader = Project.GetListStakeholders(ProjectID))
            {
                while (reader.Read())
                {
                    bool IsGroup  = (bool)reader["IsGroup"];
                    int  iStakeId = (int)reader["PrincipalId"];
                    if (IsGroup)
                    {
                        using (IDataReader principal = SecureGroup.GetGroup(iStakeId))
                        {
                            if (principal.Read())
                            {
                                sbStake.Append(CommonHelper.GetResFileString(principal["GroupName"].ToString()) + "<br>");
                            }
                        }
                    }
                    else
                    {
                        using (IDataReader principal = User.GetUserInfo(iStakeId, false))
                        {
                            if (principal.Read())
                            {
                                sbStake.Append(principal["LastName"] + " " + principal["FirstName"] + "<br>");
                            }
                        }
                    }
                }
            }
            if (sbStake.Length == 0)
            {
                sbStake.Append(LocRM.GetString("tEmpty"));
            }

            lblSponsors.Text     = sbSponsors.ToString();
            lblStakeholders.Text = sbStake.ToString();

            Printheader1.BtnPrintVisible = false;
            Printheader1.Title           = LocRM.GetString("oProjectSnapshotTitle");
        }
示例#24
0
		private void BinddgGroupsUsers()
		{
			dgUsers.Columns[2].HeaderText = LocRM.GetString("GroupUser");
			dgUsers.Columns[3].HeaderText = LocRM.GetString("Email");

			DataTable dt = new DataTable();
			dt.Columns.Add("ObjectId", typeof(int));
			dt.Columns.Add("Type");
			dt.Columns.Add("Title");
			dt.Columns.Add("Email");
			dt.Columns.Add("ActionView");
			DataRow dr;

			if (GroupID > 1) // [..]
			{
				bool retval = false;
				int iParentId = GroupID;
				while (iParentId > 1)
				{
					iParentId = SecureGroup.GetParentGroup(iParentId);
					if (VisibleUnpartnerGroups.Contains(iParentId) || VisiblePartnerGroups.Contains(iParentId) || iParentId == 6)
					{
						retval = true;
						break;
					}
				}
				if (retval)
					iParentId = SecureGroup.GetParentGroup(GroupID);
				else
					iParentId = 1;
				dr = dt.NewRow();
				dr["ObjectId"] = 0;
				dr["Type"] = "Group";
				dr["Title"] = "<span style='padding-left:15px'>&nbsp;</span><a href='../Directory/directory.aspx?Tab=0&amp;SGroupID=" + iParentId.ToString() + "'>[..]</a>";
				dt.Rows.Add(dr);
			}

			if ((GroupID != 1 && GroupID != 6) ||
				(GroupID == 1 && VisibleUnpartnerGroups.Contains(1)) ||
				(GroupID == 6 && VisibleUnpartnerGroups.Contains(6)))
			{
				using (IDataReader reader = SecureGroup.GetListChildGroups(GroupID))
				{
					while (reader.Read())
					{
						dr = dt.NewRow();
						dr["ObjectId"] = reader["GroupId"];
						dr["Type"] = "Group";
						int iGroupId = (int)reader["GroupId"];
						dr["Title"] = CommonHelper.GetGroupLink(iGroupId, CommonHelper.GetResFileString((string)reader["GroupName"]));
						dt.Rows.Add(dr);
					}
				}

				using (IDataReader reader = SecureGroup.GetListUsersInGroup(GroupID))
				{
					while (reader.Read())
					{

						dr = dt.NewRow();
						dr["ObjectId"] = reader["UserId"];

						dr["Type"] = "User";
						dr["Title"] = CommonHelper.GetUserStatus((int)reader["UserId"]);
						dr["Email"] = "<a href='mailto:" + (string)reader["Email"] + "'>" + (string)reader["Email"] + "</a>";
						dr["ActionView"] = "<a href='../Directory/UserView.aspx?UserID=" + reader["UserId"].ToString() + "'>"
							+ "<img alt='' src='../layouts/images/Icon-Search.GIF'/></a>";
						dt.Rows.Add(dr);
					}
				}
			}
			else if (GroupID == 1 && !VisibleUnpartnerGroups.Contains(1))
			{
				foreach (int iGroup in VisibleUnpartnerGroups)
				{
					dr = dt.NewRow();
					dr["ObjectId"] = iGroup;
					dr["Type"] = "Group";
					dr["Title"] = CommonHelper.GetGroupLink(iGroup);
					dt.Rows.Add(dr);
				}
				dr = dt.NewRow();
				dr["ObjectId"] = 6;
				dr["Type"] = "Group";
				dr["Title"] = CommonHelper.GetGroupLink(6);
				dt.Rows.Add(dr);
			}
			else if (GroupID == 6 && !VisibleUnpartnerGroups.Contains(6))
			{
				foreach (int iGroup in VisiblePartnerGroups)
				{
					dr = dt.NewRow();
					dr["ObjectId"] = iGroup;
					dr["Type"] = "Group";
					dr["Title"] = CommonHelper.GetGroupLink(iGroup);
					dt.Rows.Add(dr);
				}
			}

			dgUsers.DataSource = dt.DefaultView;
			dgUsers.DataBind();
		}
示例#25
0
        private void ShowStep(int step)
        {
            for (int i = 0; i <= _stepCount; i++)
            {
                ((Panel)steps[i]).Visible = false;
            }

            ((Panel)steps[step - 1]).Visible = true;

            if (step == _stepCount)
            {
                if (user_type == 1 && rbAccount.SelectedItem.Value == "0")
                {
                    lblstep4.Text = LocRM.GetString("tTextForRegularAccount");
                }
                if ((user_type == 2 && rbAccount.SelectedItem.Value == "0") || (user_type == 3))
                {
                    lblstep4.Text = LocRM.GetString("tTextForPendingAccount");
                }
                if (user_type < 3 && rbAccount.SelectedItem.Value == "1")
                {
                    lblstep4.Text = LocRM.GetString("tTextForExternalAccount");
                }
                if (user_type < 3 && rbAccount.SelectedItem.Value == "2")
                {
                    lblstep4.Text = LocRM.GetString("tTextForPartnerAccount");
                }
            }
            if (step == 2)
            {
                lstTimeZone.DataSource     = User.GetListTimeZone();
                lstTimeZone.DataTextField  = "DisplayName";
                lstTimeZone.DataValueField = "TimeZoneId";
                lstTimeZone.DataBind();
                EmaiDuplication.Enabled = true;

                int TimeZoneId = Security.CurrentUser.TimeZoneId;
                lstTimeZone.ClearSelection();
                ListItem li = lstTimeZone.Items.FindByValue(TimeZoneId.ToString());
                if (li != null)
                {
                    li.Selected = true;
                }
            }
            if (step == 2 && user_type < 3)
            {
                if (rbAccount.SelectedItem.Value == "1")
                {
                    trLogin.Visible   = false;
                    trPass.Visible    = false;
                    trConfirm.Visible = false;
                }
                else
                {
                    trLogin.Visible   = true;
                    trPass.Visible    = true;
                    trConfirm.Visible = true;
                }
            }

            if (step == 3)
            {
                ViewState["password"] = txtPassword.Text;
            }

            if (user_type == 1 && step == 3)
            {
                if (rbAccount.SelectedItem.Value == "1")
                {
                    fsGroups.Visible        = false;
                    trIMGroup.Visible       = false;
                    fsRole.Visible          = false;
                    fsTextExt.Visible       = true;
                    EmaiDuplication.Enabled = true;
                    fsPartner.Visible       = false;
                }
                else if (rbAccount.SelectedItem.Value == "0")
                {
                    fsPartner.Visible       = false;
                    fsTextExt.Visible       = false;
                    fsGroups.Visible        = true;
                    trIMGroup.Visible       = true;
                    fsRole.Visible          = true;
                    EmaiDuplication.Enabled = true;
                    string    sGroups  = iGroups.Value;
                    ArrayList alGroups = new ArrayList();
                    while (sGroups.Length > 0)
                    {
                        alGroups.Add(Int32.Parse(sGroups.Substring(0, sGroups.IndexOf(","))));
                        sGroups = sGroups.Remove(0, sGroups.IndexOf(",") + 1);
                    }
                    foreach (int i in alGroups)
                    {
                        ListItem lItm = lbAvailableGroups.Items.FindByValue(i.ToString());
                        if (lItm != null)
                        {
                            lbAvailableGroups.Items.Remove(lItm);
                            lbSelectedGroups.Items.Add(lItm);
                        }
                    }
                }
                else
                {
                    EmaiDuplication.Enabled        = true;
                    fsGroups.Visible               = false;
                    trIMGroup.Visible              = false;
                    fsRole.Visible                 = false;
                    fsTextExt.Visible              = false;
                    fsPartner.Visible              = true;
                    ddPartnerGroups.DataTextField  = "GroupName";
                    ddPartnerGroups.DataValueField = "GroupId";
                    ddPartnerGroups.DataSource     = SecureGroup.GetListChildGroups((int)InternalSecureGroups.Partner);
                    ddPartnerGroups.DataBind();
                }
            }

            #region Save
            if (step == _stepCount + 1)
            {
                try
                {
                    if (user_type == 1)
                    {
                        if (rbAccount.SelectedItem.Value == "0")
                        {
                            ArrayList alGroups = new ArrayList();
                            string    sGroups  = iGroups.Value;
                            while (sGroups.Length > 0)
                            {
                                alGroups.Add(Int32.Parse(sGroups.Substring(0, sGroups.IndexOf(","))));
                                sGroups = sGroups.Remove(0, sGroups.IndexOf(",") + 1);
                            }
                            if (cbRole.Items[0].Selected)
                            {
                                alGroups.Add(4);
                            }
                            if (cbRole.Items[1].Selected)
                            {
                                alGroups.Add(3);
                            }
                            if (cbRole.Items[2].Selected)
                            {
                                alGroups.Add(5);
                            }
                            ViewState["UserID"] = User.Create(txtLogin.Text, ViewState["password"].ToString(), txtFirstName.Text, txtLastName.Text,
                                                              txtEMail.Text, true, alGroups, int.Parse(ddIMGroup.SelectedItem.Value), txtWorkPhone.Text,
                                                              "", txtMobilePhone.Text, txtPosition.Text, txtDepartment.Text, txtCompany.Text,
                                                              txtLocation.Text, int.Parse(lstTimeZone.SelectedItem.Value), int.Parse(ddLang.SelectedItem.Value), txtWelcome.Text, "", null, "", -1);
                        }
                        else if (rbAccount.SelectedItem.Value == "1")
                        {
                            ViewState["UserID"] = User.CreateExternal(txtFirstName.Text, txtLastName.Text, txtEMail.Text,
                                                                      new ArrayList(),
                                                                      true, txtWorkPhone.Text, "", txtMobilePhone.Text, txtPosition.Text, txtDepartment.Text,
                                                                      txtCompany.Text, txtLocation.Text, int.Parse(lstTimeZone.SelectedItem.Value), int.Parse(ddLang.SelectedItem.Value),
                                                                      txtWelcome.Text, "", null);
                        }
                        else
                        {
                            ViewState["UserID"] = User.CreatePartnerUser(txtLogin.Text, ViewState["password"].ToString(), txtFirstName.Text, txtLastName.Text,
                                                                         txtEMail.Text, true, int.Parse(ddPartnerGroups.SelectedItem.Value), txtWorkPhone.Text,
                                                                         "", txtMobilePhone.Text, txtPosition.Text, txtDepartment.Text, txtCompany.Text,
                                                                         txtLocation.Text, int.Parse(lstTimeZone.SelectedItem.Value), int.Parse(ddLang.SelectedItem.Value), txtWelcome.Text, "", null, -1);
                        }
                    }
                    else if (user_type == 2)
                    {
                        if (rbAccount.SelectedItem.Value == "0")
                        {
                            ViewState["UserID"] = User.CreatePending(txtLogin.Text, ViewState["password"].ToString(), txtFirstName.Text, txtLastName.Text,
                                                                     txtEMail.Text, new ArrayList(), txtWorkPhone.Text, "", txtMobilePhone.Text, txtPosition.Text,
                                                                     txtDepartment.Text, txtCompany.Text, txtLocation.Text, int.Parse(lstTimeZone.SelectedItem.Value), int.Parse(ddLang.SelectedItem.Value), txtWelcome.Text, "", null);
                        }
                        else
                        {
                            ViewState["UserID"] = User.CreateExternal(txtFirstName.Text, txtLastName.Text, txtEMail.Text, new ArrayList(),
                                                                      true, txtWorkPhone.Text, "", txtMobilePhone.Text, txtPosition.Text, txtDepartment.Text,
                                                                      txtCompany.Text, txtLocation.Text, int.Parse(lstTimeZone.SelectedItem.Value), int.Parse(ddLang.SelectedItem.Value),
                                                                      txtWelcome.Text, "", null);
                        }
                    }
                    else
                    {
                        ViewState["UserID"] = User.CreatePending(txtLogin.Text, ViewState["password"].ToString(), txtFirstName.Text, txtLastName.Text,
                                                                 txtEMail.Text, new ArrayList(), txtWorkPhone.Text, "", txtMobilePhone.Text, txtPosition.Text,
                                                                 txtDepartment.Text, txtCompany.Text, txtLocation.Text, int.Parse(lstTimeZone.SelectedItem.Value), int.Parse(ddLang.SelectedItem.Value), txtWelcome.Text, "", null);
                    }
                }
                catch (MaxUsersCountException)
                {
                    lblError.Text    = LocRM.GetString("MaxUsersCount");
                    lblError.Visible = true;
                }
                catch (EmailDuplicationException)
                {
                    int    iUserId   = User.GetUserByEmail(txtEMail.Text);
                    string sUserName = String.Empty;
                    if (iUserId > 0)
                    {
                        sUserName = CommonHelper.GetUserStatusPureName(iUserId);
                    }
                    lblError.Text    = LocRM.GetString("EmailDuplicate") + " (" + sUserName + ")";
                    lblError.Visible = true;
                }
                catch (LoginDuplicationException)
                {
                    lblError.Text    = LocRM.GetString("DuplicatedLogin");
                    lblError.Visible = true;
                }
            }
            #endregion
        }
示例#26
0
        private void BindValues()
        {
            btnAddOneGr.Attributes.Add("onclick", "MoveOne(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); return false;");
            btnAddAllGr.Attributes.Add("onclick", "MoveAll(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); return false;");
            btnRemoveOneGr.Attributes.Add("onclick", "MoveOne(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + "); return false;");
            btnRemoveAllGr.Attributes.Add("onclick", "MoveAll(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + ");return false;");

            lbAvailableGroups.Attributes.Add("ondblclick", "MoveOne(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); return false;");
            lbSelectedGroups.Attributes.Add("ondblclick", "MoveOne(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + "); return false;");

            ddlIMGroup.DataTextField  = "IMGroupName";
            ddlIMGroup.DataValueField = "IMGroupId";
            ddlIMGroup.DataSource     = IMGroup.GetListIMGroupsWithoutPartners();
            ddlIMGroup.DataBind();

            using (IDataReader reader = SecureGroup.GetListGroupsWithParameters(false, false, false, false, false, false, false, false, false, false, false))
            {
                while (reader.Read())
                {
                    lbAvailableGroups.Items.Add(new ListItem(CommonHelper.GetResFileString(reader["GroupName"].ToString()), reader["GroupId"].ToString()));
                }
            }

            lbSecurityRoles.Items.Clear();
            int      iRoleId   = (int)InternalSecureGroups.Administrator;
            ListItem liSecRole = new ListItem(GetGroupTitleById(iRoleId), iRoleId.ToString());

            lbSecurityRoles.Items.Add(liSecRole);

            iRoleId   = (int)InternalSecureGroups.HelpDeskManager;
            liSecRole = new ListItem(GetGroupTitleById(iRoleId), iRoleId.ToString());
            lbSecurityRoles.Items.Add(liSecRole);

            iRoleId   = (int)InternalSecureGroups.PowerProjectManager;
            liSecRole = new ListItem(GetGroupTitleById(iRoleId), iRoleId.ToString());
            lbSecurityRoles.Items.Add(liSecRole);

            iRoleId   = (int)InternalSecureGroups.ProjectManager;
            liSecRole = new ListItem(GetGroupTitleById(iRoleId), iRoleId.ToString());
            lbSecurityRoles.Items.Add(liSecRole);

            iRoleId   = (int)InternalSecureGroups.ExecutiveManager;
            liSecRole = new ListItem(GetGroupTitleById(iRoleId), iRoleId.ToString());
            lbSecurityRoles.Items.Add(liSecRole);

            iRoleId   = (int)InternalSecureGroups.TimeManager;
            liSecRole = new ListItem(GetGroupTitleById(iRoleId), iRoleId.ToString());
            lbSecurityRoles.Items.Add(liSecRole);

            lstLang.DataSource     = Common.GetListLanguages();
            lstLang.DataTextField  = "FriendlyName";
            lstLang.DataValueField = "LanguageId";
            lstLang.DataBind();

            lstTimeZone.DataSource     = User.GetListTimeZone();
            lstTimeZone.DataTextField  = "DisplayName";
            lstTimeZone.DataValueField = "TimeZoneId";
            lstTimeZone.DataBind();

            int TimeZoneId = Security.CurrentUser.TimeZoneId;

            lstTimeZone.ClearSelection();
            ListItem li = lstTimeZone.Items.FindByValue(TimeZoneId.ToString());

            if (li != null)
            {
                li.Selected = true;
            }

            EntityObject[] profiles = BusinessManager.List(CustomizationProfileEntity.ClassName, (new FilterElementCollection()).ToArray(), (new SortingElementCollection(new SortingElement("Name", SortingElementType.Asc))).ToArray());
            foreach (CustomizationProfileEntity profile in profiles)
            {
                ProfileList.Items.Add(new ListItem(CommonHelper.GetResFileString(profile.Name), profile.PrimaryKeyId.ToString()));
            }
            EntityObject[] list = BusinessManager.List(CustomizationProfileUserEntity.ClassName, new FilterElement[] { FilterElement.EqualElement(CustomizationProfileUserEntity.FieldPrincipalId, UID) });
            if (list.Length > 0)
            {
                li = ProfileList.Items.FindByValue(((CustomizationProfileUserEntity)list[0]).ProfileId.ToString());
                if (li != null)
                {
                    li.Selected = true;
                }
            }
            else
            {
                li = ProfileList.Items.FindByValue("-1");
                if (li != null)
                {
                    li.Selected = true;
                }
            }

            if (UID != 0)
            {
                if (Security.IsUserInGroup(InternalSecureGroups.Administrator))
                {
                    tdWindowsLoginLabel.Visible   = false;
                    tdWindowsLoginTextBox.Visible = true;
                }
                else
                {
                    tdWindowsLoginLabel.Visible   = true;
                    tdWindowsLoginTextBox.Visible = false;
                }
                using (IDataReader reader = User.GetUserInfo(UID))
                {
                    if (reader.Read())
                    {
                        if ((bool)reader["IsExternal"])
                        {
                            ViewState[UID + "IsExternal"] = true;
                        }
                        else
                        {
                            ViewState[UID + "IsExternal"] = false;
                        }

                        if ((bool)reader["IsPending"])
                        {
                            ViewState[UID + "IsPending"] = true;
                            btnSave.Text     = LocRM.GetString("btnapprove");
                            chbIsActive.Text = LocRM.GetString("active") + ",&nbsp;<font color='red'>" + LocRM.GetString("PendingUser") + "</font>";
                        }
                        else
                        {
                            ViewState[UID + "IsPending"] = false;
                        }

                        string sLogin = reader["Login"].ToString();
                        if (sLogin.ToLower() == "alert")                                // AlertService user
                        {
                            groupInfoRow.Visible   = false;
                            chbIsActive.Enabled    = false;
                            tbWindowsLogin.Enabled = false;
                            txtPassword.Enabled    = false;
                            txtConfirm.Enabled     = false;
                        }

                        if (!(bool)ViewState[UID + "IsExternal"])
                        {
                            trTimeZone.Visible         = false;
                            trLang.Visible             = false;
                            PasswordValidator1.Enabled = false;
                            if (sLogin.IndexOf("___PENDING_USER___") < 0)
                            {
                                txtLogin.Visible            = false;
                                txtLoginRFValidator.Enabled = false;
                                txtRELoginValidator.Enabled = false;
                                txtLogin.Text    = "";
                                lblLogin.Text    = sLogin;
                                lblLogin.Visible = true;
                            }
                        }
                        txtFirstName.Text = HttpUtility.HtmlDecode(reader["FirstName"].ToString());
                        txtLastName.Text  = HttpUtility.HtmlDecode(reader["LastName"].ToString());
                        txtEmail.Text     = HttpUtility.HtmlDecode(reader["Email"].ToString());
                        if (reader["IMGroupId"] != null)
                        {
                            CommonHelper.SafeSelect(ddlIMGroup, reader["IMGroupId"].ToString());
                        }
                        if (!(bool)reader["IsActive"])
                        {
                            chbIsActive.Checked = false;
                        }

                        lbWindowsLogin.Text = tbWindowsLogin.Text = reader["WindowsLogin"].ToString();

                        if (reader["Password"].ToString() != string.Empty)
                        {
                            userHasEmptyPassword = false;
                        }
                    }
                }

                //if(!(bool)ViewState[UID + "IsExternal"] && !(bool)ViewState[UID + "IsPending"])
                //{
                using (IDataReader reader = User.GetListSecureGroup(UID))
                {
                    while (reader.Read())
                    {
                        lbSelectedGroups.Items.Add(new ListItem(CommonHelper.GetResFileString(reader["GroupName"].ToString()), reader["GroupId"].ToString()));
                    }
                }
                foreach (ListItem liSelectedGroup in lbSelectedGroups.Items)
                {
                    CommonHelper.SafeMultipleSelect(lbSecurityRoles, liSelectedGroup.Value);
                }
                lbSelectedGroups.Items.Remove(lbSelectedGroups.Items.FindByValue(((int)InternalSecureGroups.Everyone).ToString()));
                lbSelectedGroups.Items.Remove(lbSelectedGroups.Items.FindByValue(((int)InternalSecureGroups.Administrator).ToString()));
                lbSelectedGroups.Items.Remove(lbSelectedGroups.Items.FindByValue(((int)InternalSecureGroups.HelpDeskManager).ToString()));
                lbSelectedGroups.Items.Remove(lbSelectedGroups.Items.FindByValue(((int)InternalSecureGroups.PowerProjectManager).ToString()));
                lbSelectedGroups.Items.Remove(lbSelectedGroups.Items.FindByValue(((int)InternalSecureGroups.ProjectManager).ToString()));
                lbSelectedGroups.Items.Remove(lbSelectedGroups.Items.FindByValue(((int)InternalSecureGroups.ExecutiveManager).ToString()));
                lbSelectedGroups.Items.Remove(lbSelectedGroups.Items.FindByValue(((int)InternalSecureGroups.TimeManager).ToString()));
                lbSelectedGroups.DataBind();
                //}

                for (int i = 0; i < lbSelectedGroups.Items.Count; i++)
                {
                    if (lbAvailableGroups.Items.FindByValue(lbSelectedGroups.Items[i].Value) != null)
                    {
                        lbAvailableGroups.Items.Remove(lbAvailableGroups.Items.FindByValue(lbSelectedGroups.Items[i].Value));
                    }
                    iGroups.Value += lbSelectedGroups.Items[i].Value + ",";
                }

                if (!User.CanUpdateSecureFields(UID))
                {
                    trGroups.Visible         = false;
                    ddlIMGroup.Enabled       = false;
                    chbIsActive.Enabled      = false;
                    tblSecurityRoles.Visible = false;
                    ProfileRow.Visible       = false;
                }

                using (IDataReader reader = User.GetUserProfile(UID))
                {
                    if (reader.Read())
                    {
                        txtPhone.Text      = HttpUtility.HtmlDecode(reader["phone"].ToString());
                        txtFax.Text        = HttpUtility.HtmlDecode(reader["fax"].ToString());
                        txtMobile.Text     = HttpUtility.HtmlDecode(reader["mobile"].ToString());
                        txtJobTitle.Text   = HttpUtility.HtmlDecode(reader["position"].ToString());
                        txtDepartment.Text = HttpUtility.HtmlDecode(reader["department"].ToString());
                        txtLocation.Text   = HttpUtility.HtmlDecode(reader["location"].ToString());
                        txtCompany.Text    = HttpUtility.HtmlDecode(reader["company"].ToString());
                        if (reader["PictureUrl"] == DBNull.Value || (string)reader["PictureUrl"] == "")
                        {
                            Picture.Visible  = false;
                            cbDelete.Visible = false;
                        }
                        else
                        {
                            imgPhoto.Src     = "~/Common/GetUserPhoto.aspx?UserID=" + UID.ToString() + "&t=" + DateTime.Now.Millisecond.ToString();
                            Picture.Visible  = true;
                            cbDelete.Text    = "&nbsp;" + LocRM.GetString("tDeletePhoto");
                            cbDelete.Visible = true;
                        }
                    }
                }
            }
        }
示例#27
0
        private void BindValues()
        {
            ddlTemplate.DataSource     = ProjectTemplate.GetListProjectTemplate();
            ddlTemplate.DataTextField  = "TemplateName";
            ddlTemplate.DataValueField = "TemplateId";
            ddlTemplate.DataBind();
            ddlTemplate.Items.Insert(0, new ListItem(LocRM.GetString("NotSet"), "0"));
            if (Request["TemplateId"] != null)
            {
                CommonHelper.SafeSelect(ddlTemplate, Request["TemplateId"].ToString());
            }

            ddlStatus.DataSource     = Project.GetListProjectStatus();
            ddlStatus.DataTextField  = "StatusName";
            ddlStatus.DataValueField = "StatusId";
            ddlStatus.DataBind();

            ddPrjPhases.DataSource     = Project.GetListProjectPhases();
            ddPrjPhases.DataTextField  = "PhaseName";
            ddPrjPhases.DataValueField = "PhaseId";
            ddPrjPhases.DataBind();

            ddInitialPhase.DataSource     = Project.GetListProjectPhases();
            ddInitialPhase.DataTextField  = "PhaseName";
            ddInitialPhase.DataValueField = "PhaseId";
            ddInitialPhase.DataBind();

            ddlType.DataValueField = "TypeId";
            ddlType.DataTextField  = "TypeName";
            ddlType.DataSource     = Project.GetListProjectTypes();
            ddlType.DataBind();

            ddlBlockType.DataTextField  = "Title";
            ddlBlockType.DataValueField = "primaryKeyId";
            ddlBlockType.DataSource     = Mediachase.IbnNext.TimeTracking.TimeTrackingBlockType.List(Mediachase.Ibn.Data.FilterElement.EqualElement("IsProject", "1"));
            ddlBlockType.DataBind();

            ddlOverallStatus.Items.Clear();
            for (int i = 0; i <= 100; i++)
            {
                ddlOverallStatus.Items.Add(new ListItem(i.ToString() + " %", i.ToString()));
            }

            BindGeneralCategories();
            BindProjectCategories();
            BindPortfolios();

            ddlCalendar.DataTextField  = "CalendarName";
            ddlCalendar.DataValueField = "CalendarId";
            ddlCalendar.DataSource     = Project.GetListCalendars(PID);
            ddlCalendar.DataBind();

            ddlPriority.DataTextField  = "PriorityName";
            ddlPriority.DataValueField = "PriorityId";
            ddlPriority.DataSource     = Project.GetListPriorities();
            ddlPriority.DataBind();

            ddlRiskLevel.DataTextField  = "RiskLevelName";
            ddlRiskLevel.DataValueField = "RiskLevelId";
            ddlRiskLevel.DataSource     = Project.GetListRiskLevels();
            ddlRiskLevel.DataBind();

            dtcTargetStartDate.SelectedDate = UserDateTime.UserToday;
            dtcTargetEndDate.SelectedDate   = UserDateTime.UserToday.AddMonths(1);

            ddCurrency.DataTextField  = "CurrencySymbol";
            ddCurrency.DataValueField = "CurrencyId";
            ddCurrency.DataSource     = Project.GetListCurrency();
            ddCurrency.DataBind();

            // Managers
            ListItem  li;
            ArrayList alManagers = new ArrayList();

            using (IDataReader iManagers = SecureGroup.GetListAllUsersInGroup((int)InternalSecureGroups.ProjectManager))
            {
                while (iManagers.Read())
                {
                    li = new ListItem(iManagers["LastName"].ToString() + " " + iManagers["FirstName"].ToString(), iManagers["UserId"].ToString());
                    alManagers.Add(li);
                }
            }

            if (Security.IsUserInGroup(InternalSecureGroups.PowerProjectManager))
            {
                int CurrentUserID = Security.UserID;
                for (int i = 0; i < alManagers.Count; i++)
                {
                    ddlManager.Items.Add((ListItem)alManagers[i]);
                }

                li = ddlManager.Items.FindByValue(CurrentUserID.ToString());
                if (li != null)
                {
                    li.Selected = true;
                }
            }
            else
            {
                lblManager.Visible = true;
                ddlManager.Visible = false;
                lblManager.Text    = CommonHelper.GetUserStatus((Security.CurrentUser.UserID));
                iManagerId.Value   = Security.CurrentUser.UserID.ToString();
            }

            // Exec Managers
            li = new ListItem(LocRM.GetString("NotSet"), "0");
            ddlExecManager.Items.Add(li);

            using (IDataReader iManagers = SecureGroup.GetListAllUsersIn2Group((int)InternalSecureGroups.ProjectManager, (int)InternalSecureGroups.ExecutiveManager))
            {
                while (iManagers.Read())
                {
                    ddlExecManager.Items.Add(new ListItem(iManagers["LastName"].ToString() + " " + iManagers["FirstName"].ToString(), iManagers["UserId"].ToString()));
                }
            }


            if (PID != 0)
            {
                //				ddlBlockType.Enabled = false;

                using (IDataReader reader = Project.GetProject(PID))
                {
                    if (reader.Read())
                    {
                        if (reader["OrgUid"] != DBNull.Value)
                        {
                            ClientControl.ObjectType = OrganizationEntity.GetAssignedMetaClassName();
                            ClientControl.ObjectId   = PrimaryKeyId.Parse(reader["OrgUid"].ToString());
                        }
                        else if (reader["ContactUid"] != DBNull.Value)
                        {
                            ClientControl.ObjectType = ContactEntity.GetAssignedMetaClassName();
                            ClientControl.ObjectId   = PrimaryKeyId.Parse(reader["ContactUid"].ToString());
                        }

                        txtTitle.Text        = HttpUtility.HtmlDecode(reader["Title"].ToString());
                        txtGoals.Text        = HttpUtility.HtmlDecode(reader["Goals"].ToString());
                        txtScope.Text        = HttpUtility.HtmlDecode(reader["Scope"].ToString());
                        txtDescription.Text  = HttpUtility.HtmlDecode(reader["Description"].ToString());
                        txtDeliverables.Text = HttpUtility.HtmlDecode(reader["Deliverables"].ToString());

                        CommonHelper.SafeSelect(ddlType, reader["TypeId"].ToString());
                        CommonHelper.SafeSelect(ddlCalendar, reader["CalendarId"].ToString());
                        CommonHelper.SafeSelect(ddCurrency, reader["CurrencyId"].ToString());
                        CommonHelper.SafeSelect(ddlPriority, reader["PriorityId"].ToString());
                        CommonHelper.SafeSelect(ddlRiskLevel, reader["RiskLevelId"].ToString());
                        CommonHelper.SafeSelect(ddlOverallStatus, reader["PercentCompleted"].ToString());
                        if (reader["BlockTypeId"] != DBNull.Value)
                        {
                            CommonHelper.SafeSelect(ddlBlockType, reader["BlockTypeId"].ToString());
                        }

                        ddlExecManager.Items.FindByText(LocRM.GetString("NotSet")).Selected = true;
                        if (reader["ExecutiveManagerId"] != DBNull.Value)
                        {
                            string str = "";
                            str = reader["ExecutiveManagerId"].ToString();
                            ListItem liExec = ddlExecManager.Items.FindByValue(reader["ExecutiveManagerId"].ToString());
                            if (liExec != null)
                            {
                                ddlExecManager.ClearSelection();
                                liExec.Selected = true;
                            }
                        }

                        if (reader["ManagerId"] != DBNull.Value)
                        {
                            if (ddlManager.Visible)
                            {
                                ListItem liClient = ddlManager.Items.FindByValue(reader["ManagerId"].ToString());
                                if (liClient != null)
                                {
                                    ddlManager.ClearSelection();
                                    liClient.Selected = true;
                                }
                            }
                            else
                            {
                                int iManager = (int)reader["ManagerId"];
                                iManagerId.Value = iManager.ToString();
                                lblManager.Text  = CommonHelper.GetUserStatus(iManager);
                            }
                        }
                        if (reader["StatusId"] != DBNull.Value)
                        {
                            ListItem liStatus = ddlStatus.Items.FindByValue(reader["StatusId"].ToString());
                            if (liStatus != null)
                            {
                                ddlStatus.ClearSelection();
                                liStatus.Selected = true;
                            }
                        }

                        if (reader["PhaseId"] != DBNull.Value)
                        {
                            ListItem liPhase = ddPrjPhases.Items.FindByValue(reader["PhaseId"].ToString());
                            if (liPhase != null)
                            {
                                ddPrjPhases.ClearSelection();
                                liPhase.Selected = true;
                            }
                        }

                        if (reader["InitialPhaseId"] != DBNull.Value)
                        {
                            ListItem liPhase = ddInitialPhase.Items.FindByValue(reader["InitialPhaseId"].ToString());
                            if (liPhase != null)
                            {
                                ddInitialPhase.ClearSelection();
                                liPhase.Selected = true;
                            }
                        }

                        dtcTargetStartDate.SelectedDate = (DateTime)reader["TargetStartDate"];
                        dtcTargetEndDate.SelectedDate   = (DateTime)reader["TargetFinishDate"];

                        if (reader["ActualStartDate"] != DBNull.Value && reader["ActualStartDate"].ToString() != "")
                        {
                            dtcActualStartDate.SelectedDate = (DateTime)reader["ActualStartDate"];
                        }
                        if (reader["ActualFinishDate"] != DBNull.Value && reader["ActualFinishDate"].ToString() != "")
                        {
                            dtcActualFinishDate.SelectedDate = (DateTime)reader["ActualFinishDate"];
                        }
                    }
                }

                using (IDataReader reader = Project.GetListCategories(PID))
                {
                    while (reader.Read())
                    {
                        for (int i = 0; i < lbCategory.Items.Count; i++)
                        {
                            ListItem lItem = lbCategory.Items.FindByText(reader["CategoryName"].ToString());
                            if (lItem != null)
                            {
                                lItem.Selected = true;
                            }
                        }
                    }
                }

                using (IDataReader reader = Project.GetListProjectCategoriesByProject(PID))
                {
                    while (reader.Read())
                    {
                        for (int i = 0; i < lbProjectCategory.Items.Count; i++)
                        {
                            ListItem lItem = lbProjectCategory.Items.FindByText(reader["CategoryName"].ToString());
                            if (lItem != null)
                            {
                                lItem.Selected = true;
                            }
                        }
                    }
                }

                using (IDataReader reader = ProjectGroup.ProjectGroupsGetByProject(PID))
                {
                    while (reader.Read())
                    {
                        for (int i = 0; i < lbPortfolios.Items.Count; i++)
                        {
                            ListItem lItem = lbPortfolios.Items.FindByValue(reader["ProjectGroupId"].ToString());
                            if (lItem != null)
                            {
                                lItem.Selected = true;
                            }
                        }
                    }
                }
            }
            else
            {
                // Client
                PrimaryKeyId org_id     = PrimaryKeyId.Empty;
                PrimaryKeyId contact_id = PrimaryKeyId.Empty;
                Common.GetDefaultClient(PortalConfig.ProjectDefaultValueClientField, out contact_id, out org_id);
                if (contact_id != PrimaryKeyId.Empty)
                {
                    ClientControl.ObjectType = ContactEntity.GetAssignedMetaClassName();
                    ClientControl.ObjectId   = contact_id;
                }
                else if (org_id != PrimaryKeyId.Empty)
                {
                    ClientControl.ObjectType = OrganizationEntity.GetAssignedMetaClassName();
                    ClientControl.ObjectId   = org_id;
                }

                // Priority
                Util.CommonHelper.SafeSelect(ddlPriority, PortalConfig.ProjectDefaultValuePriorityField);

                // Currency
                Util.CommonHelper.SafeSelect(ddCurrency, PortalConfig.ProjectDefaultValueCurrencyField);

                // Categories
                ArrayList list = Common.StringToArrayList(PortalConfig.ProjectDefaultValueGeneralCategoriesField);
                foreach (int i in list)
                {
                    CommonHelper.SafeMultipleSelect(lbCategory, i.ToString());
                }
                list = Common.StringToArrayList(PortalConfig.ProjectDefaultValueProjectCategoriesField);
                foreach (int i in list)
                {
                    CommonHelper.SafeMultipleSelect(lbProjectCategory, i.ToString());
                }

                // texts
                txtGoals.Text        = PortalConfig.ProjectDefaultValueGoalsField;
                txtDeliverables.Text = PortalConfig.ProjectDefaultValueDeliverablesField;
                txtScope.Text        = PortalConfig.ProjectDefaultValueScopeField;
            }

            if (PID > 0)
            {
                EditControl.ObjectId = PID;
            }
            EditControl.MetaClassName = String.Concat("ProjectsEx_", ddlType.SelectedValue);
            EditControl.BindData();

            trPriority.Visible          = PortalConfig.CommonProjectAllowEditPriorityField;
            trClient.Visible            = PortalConfig.CommonProjectAllowEditClientField;
            trCategories.Visible        = PortalConfig.CommonProjectAllowEditGeneralCategoriesField;
            trProjectCategories.Visible = PortalConfig.ProjectAllowEditProjectCategoriesField;
            GoalsRow.Visible            = PortalConfig.ProjectAllowEditGoalsField;
            DeleverablesRow.Visible     = PortalConfig.ProjectAllowEditDeliverablesField;
            ScopeRow.Visible            = PortalConfig.ProjectAllowEditScopeField;
            LeftTextCell.Visible        = GoalsRow.Visible || DeleverablesRow.Visible;
        }
示例#28
0
        protected void btnSave_ServerClick(object sender, System.EventArgs e)
        {
            Page.Validate();
            if (!Page.IsValid)
            {
                return;
            }
            string    sGroups  = iGroups.Value;
            ArrayList alGroups = new ArrayList();

            if (ddUserType.SelectedItem.Value != "1")             //non partner
            {
                while (sGroups.Length > 0)
                {
                    alGroups.Add(Int32.Parse(sGroups.Substring(0, sGroups.IndexOf(","))));
                    sGroups = sGroups.Remove(0, sGroups.IndexOf(",") + 1);
                }

                if (ddUserType.SelectedItem.Value == "0")                 //regular
                {
                    foreach (ListItem liRole in lbSecurityRoles.Items)
                    {
                        if (liRole.Selected)
                        {
                            alGroups.Add(Int32.Parse(liRole.Value));
                        }
                    }
                }

                if (alGroups.Count <= 0)
                {
                    GroupValidator.IsValid = false;
                    return;
                }
            }

            string filename = "";

            System.IO.Stream strres = new System.IO.MemoryStream();

            if (fPhoto.PostedFile != null && fPhoto.PostedFile.ContentLength > 0)
            {
                System.Drawing.Image img;
                string extension = "";
                img = Mediachase.Ibn.Web.UI.Images.ProcessImage(fPhoto.PostedFile, out extension);
                string photoid = Guid.NewGuid().ToString().Substring(0, 6);
                filename = photoid + extension;
                img.Save(strres, img.RawFormat);
                strres.Position = 0;
            }

            try
            {
                int imgroup = int.Parse(ddlIMGroup.SelectedItem.Value);

                switch (ddUserType.SelectedItem.Value)
                {
                case "0":
                    UID = User.Create(txtLogin.Text, txtPassword.Text, txtFirstName.Text, txtLastName.Text,
                                      txtEmail.Text, chbIsActive.Checked, alGroups, imgroup, txtPhone.Text,
                                      txtFax.Text, txtMobile.Text, txtJobTitle.Text, txtDepartment.Text, txtCompany.Text,
                                      txtLocation.Text, int.Parse(lstTimeZone.SelectedItem.Value),
                                      int.Parse(lstLang.SelectedItem.Value), "", filename, strres, txtWinLogin.Text,
                                      int.Parse(ProfileList.SelectedValue));
                    break;

                case "1":
                    UID = User.CreatePartnerUser(txtLogin.Text, txtPassword.Text, txtFirstName.Text,
                                                 txtLastName.Text, txtEmail.Text, chbIsActive.Checked,
                                                 int.Parse(ddPartnerGroups.SelectedItem.Value), txtPhone.Text, txtFax.Text,
                                                 txtMobile.Text, txtJobTitle.Text, txtDepartment.Text, txtCompany.Text,
                                                 txtLocation.Text, int.Parse(lstTimeZone.SelectedItem.Value),
                                                 int.Parse(lstLang.SelectedItem.Value), filename, strres,
                                                 int.Parse(ProfileList.SelectedValue));
                    break;

                case "2":
                    UID = User.CreateExternal(txtFirstName.Text, txtLastName.Text, txtEmail.Text, alGroups,
                                              chbIsActive.Checked, txtPhone.Text, txtFax.Text, txtMobile.Text, txtJobTitle.Text,
                                              txtDepartment.Text, txtCompany.Text, txtLocation.Text,
                                              int.Parse(lstTimeZone.SelectedItem.Value),
                                              int.Parse(lstLang.SelectedItem.Value), "", filename, strres);
                    break;

                case "3":
                    UID = User.CreatePending(txtLogin.Text, txtPassword.Text, txtFirstName.Text, txtLastName.Text, txtEmail.Text, alGroups, txtPhone.Text, txtFax.Text, txtMobile.Text, txtJobTitle.Text, txtDepartment.Text, txtCompany.Text, txtLocation.Text, int.Parse(lstTimeZone.SelectedItem.Value), int.Parse(lstLang.SelectedItem.Value), "", filename, strres);
                    break;
                }
                if (!cbOneMore.Checked)
                {
                    Response.Redirect("~/Directory/UserView.aspx?UserID=" + UID);
                }
                else
                {
                    Response.Redirect("~/Directory/MultipleUserEdit.aspx");
                }
            }
            catch (MaxUsersCountException)
            {
                lblError.Text    = LocRM.GetString("MaxUsersCount");
                lblError.Visible = true;
            }

            catch (LoginDuplicationException)
            {
                if (ddUserType.SelectedItem.Value == "2")
                {
                    int    iUserId   = User.GetUserByEmail(txtEmail.Text);
                    string sUserName = String.Empty;
                    if (iUserId > 0)
                    {
                        sUserName = CommonHelper.GetUserStatusPureName(iUserId);
                    }
                    lblError.Text = LocRM.GetString("EmailDuplicate") + " (" + sUserName + ")";
                }
                else
                {
                    lblError.Text = LocRM.GetString("DuplicatedLogin");
                }
                lblError.Visible = true;
            }
            catch (EmailDuplicationException)
            {
                int    iUserId   = User.GetUserByEmail(txtEmail.Text);
                string sUserName = String.Empty;
                if (iUserId > 0)
                {
                    sUserName = CommonHelper.GetUserStatusPureName(iUserId);
                }
                lblError.Text    = LocRM.GetString("EmailDuplicate") + " (" + sUserName + ")";
                lblError.Visible = true;
            }
            catch (PasswordRequiredException)
            {
                for (int i = 0; i < alGroups.Count; i++)
                {
                    using (IDataReader reader = SecureGroup.GetGroup((int)alGroups[i]))
                    {
                        if (reader.Read())
                        {
                            lbSelectedGroups.Items.Add(new ListItem(CommonHelper.GetResFileString(reader["GroupName"].ToString()), ((int)alGroups[i]).ToString()));
                            ListItem li = lbAvailableGroups.Items.FindByValue(((int)alGroups[i]).ToString());
                            if (li != null)
                            {
                                lbAvailableGroups.Items.Remove(li);
                            }
                        }
                    }
                }
                PasswordValidator1.Validate();
                PasswordValidator1.Enabled = true;
                lblError.Text    = LocRM.GetString("PasswordRequest");
                lblError.Visible = true;
            }
        }
示例#29
0
        private void BindStep1()
        {
            lgdContactInf.InnerText          = LocRM.GetString("tContactInformation");
            lgdCompanyinf.InnerText          = LocRM.GetString("tCompanyInformation");
            lgdSelGroup.InnerText            = LocRM.GetString("tSelectIBNGroups");
            lgdTextPartner.InnerText         = LocRM.GetString("tSelectPartnerGroup");
            lblGroupsTitle.Text              = LocRM.GetString("tPartnerGroups");
            lgdLang.InnerText                = LocRM.GetString("tDefLanguage");
            lgdRole.InnerText                = LocRM.GetString("tRole");
            lgdTextExt.InnerText             = LocRM.GetString("tExternalAdding");
            lgdWelcome.InnerText             = LocRM.GetString("tWelcomeComments");
            txtRELoginValidator.ErrorMessage = LocRM.GetString("LoginReg");
            lblSelected.Text  = LocRM.GetString("tSelected");
            lblAvailable.Text = LocRM.GetString("tAvailable");

            btnAddOneGr.Attributes.Add("onclick", "MoveOne(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); SaveGroups(); return false;");
            btnAddAllGr.Attributes.Add("onclick", "MoveAll(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); SaveGroups(); return false;");
            btnRemoveOneGr.Attributes.Add("onclick", "MoveOne(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + "); SaveGroups(); return false;");
            btnRemoveAllGr.Attributes.Add("onclick", "MoveAll(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + "); SaveGroups();return false;");

            lbAvailableGroups.Attributes.Add("ondblclick", "MoveOne(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); SaveGroups(); return false;");
            lbSelectedGroups.Attributes.Add("ondblclick", "MoveOne(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + "); SaveGroups(); return false;");

            if (user_type == 1 || user_type == 2)
            {
                rbAccount.Items.Add(new ListItem(" " + LocRM.GetString("tIBNAccount"), "0"));
                if (User.CanCreateExternal())
                {
                    rbAccount.Items.Add(new ListItem(" " + LocRM.GetString("tExternalAccount"), "1"));
                }
                if (user_type != 2 && User.CanCreatePartner())
                {
                    rbAccount.Items.Add(new ListItem(" " + LocRM.GetString("tPartnerAccount"), "2"));
                }
                rbAccount.SelectedIndex = 0;
            }
            if (user_type == 3)
            {
                lblUserType.Text = LocRM.GetString("tOnlyPending");
            }

            cbRole.Items.Add(new ListItem(" " + LocRM.GetString("tPPM"), "0"));
            cbRole.Items.Add(new ListItem(" " + LocRM.GetString("tPM"), "1"));
            cbRole.Items.Add(new ListItem(" " + LocRM.GetString("tHDM"), "2"));
            cbRole.RepeatColumns = 3;

            using (IDataReader reader = SecureGroup.GetListGroupsWithParameters(false, false, false, false, false, false, false, false, false, false, false))
            {
                while (reader.Read())
                {
                    lbAvailableGroups.Items.Add(new ListItem(CommonHelper.GetResFileString(reader["GroupName"].ToString()), reader["GroupId"].ToString()));
                }
            }

            ddLang.DataSource     = Common.GetListLanguages();
            ddLang.DataTextField  = "FriendlyName";
            ddLang.DataValueField = "LanguageId";
            ddLang.DataBind();

            ddIMGroup.DataTextField  = "IMGroupName";
            ddIMGroup.DataValueField = "IMGroupId";
            ddIMGroup.DataSource     = IMGroup.GetListIMGroupsWithoutPartners();
            ddIMGroup.DataBind();
        }
示例#30
0
        private void BindValues()
        {
            btnAddOneGr.Attributes.Add("onclick", "MoveOne(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); return false;");
            btnAddAllGr.Attributes.Add("onclick", "MoveAll(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); return false;");
            btnRemoveOneGr.Attributes.Add("onclick", "MoveOne(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + "); return false;");
            btnRemoveAllGr.Attributes.Add("onclick", "MoveAll(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + ");return false;");

            lbAvailableGroups.Attributes.Add("ondblclick", "MoveOne(" + lbAvailableGroups.ClientID + "," + lbSelectedGroups.ClientID + "); return false;");
            lbSelectedGroups.Attributes.Add("ondblclick", "MoveOne(" + lbSelectedGroups.ClientID + "," + lbAvailableGroups.ClientID + "); return false;");

            using (IDataReader reader = SecureGroup.GetListGroupsWithParameters(false, false, false, false, false, false, false, false, false, false, false))
            {
                while (reader.Read())
                {
                    lbAvailableGroups.Items.Add(new ListItem(CommonHelper.GetResFileString(reader["GroupName"].ToString()), reader["GroupId"].ToString()));
                }
            }

            using (IDataReader reader = User.GetListSecureGroup(UID))
            {
                while (reader.Read())
                {
                    lbSelectedGroups.Items.Add(new ListItem(CommonHelper.GetResFileString(reader["GroupName"].ToString()), reader["GroupId"].ToString()));
                }
            }
            lbSelectedGroups.Items.Remove(lbSelectedGroups.Items.FindByValue(((int)InternalSecureGroups.Everyone).ToString()));
            lbSelectedGroups.Items.Remove(lbSelectedGroups.Items.FindByValue(((int)InternalSecureGroups.Administrator).ToString()));
            lbSelectedGroups.Items.Remove(lbSelectedGroups.Items.FindByValue(((int)InternalSecureGroups.HelpDeskManager).ToString()));
            lbSelectedGroups.Items.Remove(lbSelectedGroups.Items.FindByValue(((int)InternalSecureGroups.PowerProjectManager).ToString()));
            lbSelectedGroups.Items.Remove(lbSelectedGroups.Items.FindByValue(((int)InternalSecureGroups.ExecutiveManager).ToString()));
            lbSelectedGroups.Items.Remove(lbSelectedGroups.Items.FindByValue(((int)InternalSecureGroups.ProjectManager).ToString()));
            lbSelectedGroups.Items.Remove(lbSelectedGroups.Items.FindByValue(((int)InternalSecureGroups.TimeManager).ToString()));

            for (int i = 0; i < lbSelectedGroups.Items.Count; i++)
            {
                if (lbAvailableGroups.Items.FindByValue(lbSelectedGroups.Items[i].Value) != null)
                {
                    lbAvailableGroups.Items.Remove(lbAvailableGroups.Items.FindByValue(lbSelectedGroups.Items[i].Value));
                }
                iGroups.Value += lbSelectedGroups.Items[i].Value + ",";
            }

            if (UID != 0)
            {
                using (IDataReader reader = User.GetUserInfo(UID))
                {
                    if (reader.Read())
                    {
                        txtFirstName.Text = HttpUtility.HtmlDecode(reader["FirstName"].ToString());
                        txtLastName.Text  = HttpUtility.HtmlDecode(reader["LastName"].ToString());
                        txtEmail.Text     = HttpUtility.HtmlDecode(reader["Email"].ToString());
                        if (!(bool)reader["IsActive"])
                        {
                            chbIsActive.Checked = false;
                        }
                    }
                }
                if (!User.CanUpdateSecureFields(UID))
                {
                    chbIsActive.Enabled = false;
                    trGroups.Visible    = false;
                }

                using (IDataReader reader = User.GetUserProfile(UID))
                {
                    if (reader.Read())
                    {
                        txtPhone.Text      = HttpUtility.HtmlDecode(reader["phone"].ToString());
                        txtFax.Text        = HttpUtility.HtmlDecode(reader["fax"].ToString());
                        txtMobile.Text     = HttpUtility.HtmlDecode(reader["mobile"].ToString());
                        txtJobTitle.Text   = HttpUtility.HtmlDecode(reader["position"].ToString());
                        txtDepartment.Text = HttpUtility.HtmlDecode(reader["department"].ToString());
                        txtLocation.Text   = HttpUtility.HtmlDecode(reader["location"].ToString());
                        txtCompany.Text    = HttpUtility.HtmlDecode(reader["company"].ToString());
                        //if ( reader["PictureUrl"] == DBNull.Value || (string)reader["PictureUrl"]=="" )
                        //{
                        //    Picture.Visible=false;
                        //}
                        //else
                        //{
                        imgPhoto.Src = "~/Common/GetUserPhoto.aspx?UserID=" + UID.ToString() + "&t=" + DateTime.Now.Millisecond.ToString();
                        //Picture.Visible=true;
                        //}
                    }
                }
            }
        }