<tr>
<td align="left" valign="top">
<asp:GridView ID="grdTeamInfo" runat="server"CssClass="TMGrid" GridLines="None" CellPadding="0" CellSpacing="0"AutoGenerateColumns="false" >
<Columns>
<asp:TemplateField HeaderText="Team Member Name">
<ItemTemplate>
<asp:Label ID="lblEmployeeName" runat="server"Text='<%# Eval("userPresence")%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Role" HeaderText="Role" />
</Columns>
</asp:GridView>
</td>
</tr>
List<TeamMembers> lstTeamMembers;
//Get the team members user presence
lstTeamMembers = GetUserPresence(dsProjectInfo);
if (lstTeamMembers.Count > 0)
{
grdTeamInfo.DataSource = lstTeamMembers;
grdTeamInfo.DataBind();
}
GetUserPresence()
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
//Populate Team Members
TeamMembers objTeamMembers;
UserProfile up_TeamMember = null;
string empId;
for (int i = 0; i < dsProjectInfo.Tables[1].Rows.Count; i++)
{
try
{
empId = (dsProjectInfo.Tables[1].Rows[i]["Employee name"].ToString());
if (!string.IsNullOrEmpty(empId))
up_TeamMember = GetUserProfileByEmployeeID(SPContext.Current.Site.Url,empId);
if (up_TeamMember != null)
{
objTeamMembers = new TeamMembers();
objTeamMembers.EmpID = dsProjectInfo.Tables[1].Rows[i]["Employee name"].ToString();
strEmail = (up_TeamMember[PropertyConstants.WorkEmail]. ToString objTeamMembers.EmpEmail = strEmail;
strFirstName = up_TeamMember.DisplayName;
strHtm = "<span><img border=\"0\" height=\"12\" src=\"/_layouts/images/imnhdr.gif\" onload=\"IMNRC('" + strEmail + "')\" ShowOfflinePawn=\"1\" alt=\"\" id=\"user_presence_icon" + i + "\"/></span>";
objTeamMembers.userPresence = strHtm + " "+ strFirstName + " " + strLastName;
objTeamMembers.Role = (dsProjectInfo.Tables[1].Rows[i]["Role"].ToString());
lstTeamMembers.Add(objTeamMembers);
}
}
catch (Exception ex)
{
errorLogger.LogException("ERROR OCCURED WHILE PROCESSING - GetUserPresence : FOR LOOP" + ex.ToString());
continue;
}
}
});
}
No comments:
Post a Comment