CS Page::::
ASPX PAGE:
Code:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Text;
using System.IO;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Ondemand.Dashboard.Lib.User;
using Ondemand.Dashboard.Lib.Security;
public partial class TimeSheetMonthlyReport : System.Web.UI.Page
{
string RoleName;
int NoOfDays;
static string month;
static string year;
static string SelectedDate;
StringBuilder str = new StringBuilder();
DataTable Role = new DataTable();
DataTable TeamMember = new DataTable();
int odoUserIdtoProject = 0;
int odoUserIDProject = 0;
protected void Page_Load(object sender, EventArgs e)
{
if (OdoUserId == 0)
{
Response.Redirect("../Login.aspx");
}
else
{
if (!Page.IsPostBack)
{
ddmonth.SelectedValue = DateTime.Now.Month.ToString();
ddlyear.SelectedValue = DateTime.Now.Year.ToString();
DIV1.Visible = false;
ddlyear.Items.Add(DateTime.Now.Year.ToString());
ddlyear.Items.Add((DateTime.Now.Year - 1).ToString());
ddlyear.Items.Add((DateTime.Now.Year - 2).ToString());
ddlyear.SelectedIndex = 0;
int totalNoOfDays = CalculateNoOfDays(DateTime.Now.Month, DateTime.Now.Year);
ddlBindProjects();
TR1.Visible = false;
}
}
}
public void ddlBindTeam()
{
if (Convert.ToInt32(ddlproject.SelectedValue) != 0)
{
TeamMember = ProjectAlerts.odoBindTeamMemberSpecificToProject(TimeSheetMonthlyReport.OdoUserId, Convert.ToInt32(ddlproject.SelectedValue));
if (TeamMember.Rows.Count > 0)
{
ddlteam.DataSource = TeamMember;
ddlteam.DataValueField = "ID";
ddlteam.DataTextField = "UserName";
ddlteam.DataBind();
ddlteam.Items.Insert(0, "--Select--");
ddlteam.Items[0].Value = "0";
TR1.Visible = true;
}
else
{
TR1.Visible = false;
}
}
else
{
TR1.Visible = false;
}
}
public int CalculateNoOfDays(int month, int year)
{
NoOfDays = System.DateTime.DaysInMonth(year, month);
return NoOfDays;
}
public string fn_data()
{
DataTable DtResult;
if (odoUserIdtoProject == 0)
{
DtResult = ManageTimeSheet.GetUserName(OdoUserId);
odoUserIDProject = TimeSheetMonthlyReport.OdoUserId;
}
else
{
DtResult = ManageTimeSheet.GetUserName(odoUserIdtoProject);
odoUserIDProject = odoUserIdtoProject;
}
if (Convert.ToString(DtResult.Rows[0]["UserName"]) == "Nigel Gower")
{
}
else
{
string UserName = Ondemand.Dashboard.Lib.General.DataLayerBase.GetStringData(DtResult.Rows[0]["UserName"]);
bool flagSunday = false;
bool flagSaturday = false;
str.Append("<table width='100%' align='center' cellpadding='2' cellspacing='0' style='background-color:#dce899'>");
str.Append("<tr><td align='center'><font style='font-weight:lighter' color='black'>Time Sheet Report of </font><font color='black'><b>" + UserName + "</b></font><font style='font-weight:lighter' color='black'> for the Month of</font><font color='black'><b> " + Convert.ToString(ddmonth.SelectedItem.Text) + "</b></font> <font color='black'><b>" + Convert.ToString(ddlyear.SelectedItem.Text) + "</b></font></td></tr>");
str.Append("</table>");
str.Append("<table width='100%' align='center' cellpadding='2' cellspacing='0' style='background-color:#dce899'>");
str.Append("<tr style='background-image:url(../Images/bg.gif);height:22' class='text-white'>");
str.Append("<td width='2%' ><strong></strong></td>");
str.Append("<td width='17%' align='left' valign='middle'><small><font face=Verdana, Arial, Helvetica, sans-serif color ='#FFFFFF'><b>Date<em>(mm/dd/yyyy)</em></b></font></small></td>");
str.Append("<td width='23%' align='center' valign='middle' ><small><font face=Verdana, Arial, Helvetica, sans-serif color ='#FFFFFF'><b>Project Related/Non Project Related Activity</b></font></small></td>");
str.Append("<td width='18%' align='center' valign='middle' ><small><font face=Verdana, Arial, Helvetica, sans-serif color ='#FFFFFF'><b>Outdoor Activity</b></font></small></td>");
str.Append("<td width='19%' align='center' valign='middle' ><small><font face=Verdana, Arial, Helvetica, sans-serif color ='#FFFFFF'><b>Short Leave</b></font></small></td>");
str.Append("<td width='21%' align='center' valign='middle' ><small><font face=Verdana, Arial, Helvetica, sans-serif color ='#FFFFFF'><b>Total Time</b></font></small></td>");
str.Append("</tr>");
str.Append("</table></br>");
string menuTSsign = "menuTSsign";
for (int i = 1; i <= NoOfDays; i++)
{
string suboutline = "suboutline";
string displaydate = Convert.ToDateTime(ddmonth.SelectedValue.ToString() + "/" + i.ToString() + "/" + ddlyear.SelectedValue.ToString()).ToShortDateString();
string DayOfWeek = Convert.ToDateTime(displaydate).DayOfWeek.ToString();
if (DayOfWeek == "Saturday")
{
flagSaturday = true;
}
if (DayOfWeek == "Sunday")
{
flagSunday = true;
}
DataTable GetActivityHours = new DataTable();
GetActivityHours = ProjectAlerts.GetActivityHours(odoUserIDProject, displaydate);
string ProjectRelatedHrs = GetActivityHours.Rows[0]["ProjectActivity"].ToString();
string OutDoor = GetActivityHours.Rows[0]["OutDoor"].ToString();
string ShortLeave = GetActivityHours.Rows[0]["ShortLeave"].ToString();
string TotalTime = GetActivityHours.Rows[0]["TotalTime"].ToString();
suboutline = suboutline + i;
menuTSsign = menuTSsign + i;
str.Append("<table width='100%' align='center' cellpadding='0' cellspacing='0' style='background-color:#dce899'>");
if (i % 2 == 1)
{
str.Append("<tr valign='middle' height='22' bgcolor='#dce899'>");
}
else
{
str.Append("<tr valign='middle' height='22' bgcolor='#f2f9cb'>");
}
str.Append("<td width='2%' height='22'><div runat='server' id='menuTS' onclick='javascript:showhide(" + suboutline + "," + menuTSsign + ");' Style=cursor:pointer; font-Family:Arial; text-decoration:none; font-weight:bold'><img src='../Images/ifr_redarrow_right.gif' id='" + menuTSsign + "' ></div></td>");
str.Append("<td width='17%' style='color:black' height='22' align='left' valign='middle'><small>" + displaydate + "</small>");
if (flagSaturday == true)
{
str.Append("<font color='#FF0000'><small>");
str.Append(" (Saturday)");
str.Append("</small></font>");
flagSaturday = false;
}
if (flagSunday == true)
{
str.Append("<font color='#FF0000'><small>");
str.Append(" (Sunday)");
str.Append("</small></font>");
flagSunday = false;
}
str.Append("</td>");
str.Append("<td width='23%' height='22' align='center' valign='middle' ><font color='Black'><small>" + ProjectRelatedHrs + "</small></font></td>");
str.Append("<td width='18%' height='22' align='center' valign='middle' ><font color='Black'><small>" + OutDoor + "</small></font></td>");
str.Append("<td width='19%' height='22' align='center' valign='middle' ><font color='Black'><small>" + ShortLeave + "</small></font></td>");
str.Append("<td width='21%' height='22' align='center' valign='middle' ><font color='Black'><small>" + TotalTime + "</small></font></td>");
str.Append("</tr>");
str.Append("</table>");
DataTable ViewDetails = ProjectAlerts.GetProjectTimeSheetDetails(odoUserIDProject, displaydate);
str.Append("<div id=" + suboutline + " style='display:none;'>");
str.Append("<table width=100% border=0 cellspacing=0 cellpadding=0 >");
str.Append("<tr bgcolor=#808d35 valign=middle align=center>");
str.Append("<td height='26'colspan=6 style='background-image:url(../Images/bg.gif)' class='text-white'><font size=2 face=Verdana, Arial, Helvetica, sans-serif><strong>");
str.Append("View Details");
str.Append("</strong> </font></td>");
str.Append("</tr>");
if (ViewDetails.Rows.Count > 0)
{
str.Append("<tr bgcolor='#dce899'>");
str.Append("<td width=5% align='center' height=22><strong><font size=1 color=Black face=Verdana, Arial, Helvetica, sans-serif>S.No.</font></strong></td>");
str.Append("<td width=15% align='center' height=22 ><font size=1 color=Black face=Verdana, Arial, Helvetica, sans-serif><strong>Project Name</strong></font></td>");
str.Append("<td width=20% align='center' height=22 ><strong><font color=Black size=1 face=Verdana, Arial, Helvetica, sans-serif>Activity</font></strong></td>");
str.Append("<td width=30% align='center' height=22><strong><font color=Black size=1 face=Verdana, Arial, Helvetica, sans-serif>Description</font></strong></td>");
str.Append("<td width=30% align='center' height=22 ><strong><font color=Black size=1 face=Verdana, Arial, Helvetica, sans-serif>Time Spent</font></strong></td>");
str.Append("</tr>");
}
else
{
if (i % 2 == 1)
{
str.Append("<tr bgcolor=#dce899 valign=middle align=center>");
}
else
{
str.Append("<tr bgcolor=#f2f9cb valign=middle align=center>");
}
str.Append("<td height='12'colspan=6 ><font color='Red' size=2 face=Verdana, Arial, Helvetica, sans-serif><strong>");
str.Append("No record exists");
str.Append("</strong> </font></td>");
str.Append("</tr>");
}
if (ViewDetails.Rows.Count > 0)
{
for (int j = 1; j <= ViewDetails.Rows.Count; j++)
{
str.Append("<tr bgcolor='#e3e0e0'>");
str.Append("<td width=5% align='center' height=22 ><strong><font size=1 color=blue face=Verdana, Arial, Helvetica, sans-serif>" + j + "</font></strong></td>");
str.Append("<td width=15% align='center' height=22><font size=1 color=blue face=Verdana, Arial, Helvetica, sans-serif><strong>" + ViewDetails.Rows[j - 1]["Title"].ToString() + "</strong></font></td>");
str.Append("<td width=20% align='center' height=22><strong><font color=blue size=1 face=Verdana, Arial, Helvetica, sans-serif>" + ViewDetails.Rows[j - 1]["Activity"].ToString() + "</font></strong></td>");
str.Append("<td width=30% align='center' height=22 ><strong><font color=blue size=1 face=Verdana, Arial, Helvetica, sans-serif>" + ViewDetails.Rows[j - 1]["Description"].ToString() + "</font></strong></td>");
str.Append("<td width=30% align='center' height=22 ><strong><font color=blue size=1 face=Verdana, Arial, Helvetica, sans-serif>" + ViewDetails.Rows[j - 1]["TimeSpent"].ToString() + "</font></strong></td>");
str.Append("</tr>");
}
}
str.Append("</table>");
str.Append("</div>");
}
}
return str.ToString();
}
public string monthtotal()
{
DataTable _dttotal = new DataTable();
_dttotal = ProjectAlerts.GetProjectTimeSheethours(odoUserIDProject, Convert.ToInt32(ddmonth.SelectedValue), Convert.ToInt32(ddlyear.SelectedValue));
StringBuilder _sb = new StringBuilder();
_sb.Append("<table width='100%' align='center' cellpadding='2' cellspacing='0' style='background-color:#dce899'>");
_sb.Append("<tr><td align='center'><font style='font-weight:lighter' color='black'><b>Month Total Time </b></font></td></tr>");
_sb.Append("</table>");
_sb.Append("<table width='100%' align='center' cellpadding='2' cellspacing='0' style='background-color:#dce899'>");
_sb.Append("<tr style='background-image:url(../Images/bg.gif);height:22' class='text-white'>");
_sb.Append("<td width='2%' ><strong></strong></td>");
_sb.Append("<td width='23%' align='center' valign='middle' ><small><font face=Verdana, Arial, Helvetica, sans-serif color ='#FFFFFF'><b>Project Related/Non Project Related Activity</b></font></small></td>");
_sb.Append("<td width='18%' align='center' valign='middle' ><small><font face=Verdana, Arial, Helvetica, sans-serif color ='#FFFFFF'><b>Outdoor Activity</b></font></small></td>");
_sb.Append("<td width='19%' align='center' valign='middle' ><small><font face=Verdana, Arial, Helvetica, sans-serif color ='#FFFFFF'><b>Short Leave</b></font></small></td>");
_sb.Append("<td width='21%' align='center' valign='middle' ><small><font face=Verdana, Arial, Helvetica, sans-serif color ='#FFFFFF'><b>Total Time</b></font></small></td>");
_sb.Append("</tr>");
_sb.Append("</table></br>");
if (_dttotal.Rows.Count > 0)
{
_sb.Append("<table width='100%' align='center' cellpadding='2' cellspacing='0' style='background-color:#dce899'>");
_sb.Append("<tr class='text-white'>");
_sb.Append("<td width='2%' ><strong></strong></td>");
_sb.Append("<td width='23%' align='center' valign='middle' ><font color='Black'><small>" + _dttotal.Rows[0]["Project_Or_Non_Project"] + "</small></font></td>");
_sb.Append("<td width='18%' align='center' valign='middle' ><font color='Black'><small>" + _dttotal.Rows[0]["outdoor"] + "</small></font></td>");
_sb.Append("<td width='19%' align='center' valign='middle' ><font color='Black'><small>" + _dttotal.Rows[0]["shortleave"] + "</small></font></td>");
_sb.Append("<td width='21%' align='center' valign='middle' ><font color='Black'><small>" + _dttotal.Rows[0]["Total"] + "</small></font></td>");
_sb.Append("</tr>");
_sb.Append("</table></br>");
}
return _sb.ToString();
}
public void ddlBindProjects()
{
DataTable ProjectList = ProjectAlerts.odoBindProjects(TimeSheetMonthlyReport.OdoUserId);
if (ProjectList.Rows.Count > 0)
{
ddlproject.DataSource = ProjectList;
ddlproject.DataValueField = "ID";
ddlproject.DataTextField = "Title";
ddlproject.DataBind();
ddlproject.Items.Insert(0, "--Select--");
ddlproject.Items[0].Value = "0";
}
else
{
TR2.Visible = false;
TR1.Visible = false;
}
}
protected void ddlproject_SelectedIndexChanged(object sender, EventArgs e)
{
DIV1.Visible = false;
ddlBindTeam();
}
protected void ddlteam_SelectedIndexChanged(object sender, EventArgs e)
{
DIV1.Visible = false;
odoUserIdtoProject = Convert.ToInt32(ddlteam.SelectedValue);
}
protected void btnGo_Click(object sender, EventArgs e)
{
DIV1.Visible = true;
CalculateNoOfDays(Convert.ToInt16(ddmonth.SelectedValue), Convert.ToInt16(ddlyear.SelectedValue));
}
public static int OdoUserId //The OdoUserId property
{
get
{
UserProfile getOdoUserId = new UserProfile();
return Convert.ToInt16(getOdoUserId["odoUserID"]);
}
}
public static int OdoRoleId //The odoRoleID property
{
get
{
UserProfile getOdoRoleId = new UserProfile();
return Convert.ToInt16(getOdoRoleId["odoRoleID"]);
}
}
}
ASPX PAGE:
Code:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TimeSheetMonthlyReport.aspx.cs" Inherits="TimeSheetMonthlyReport" MasterPageFile="~/MasterProject.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<link href="../App_Themes/Style/DashStyleSheet.css" type="text/css" rel="stylesheet" />
<script language="javascript" type="text/javascript" src="../Script/JS/Project.js"></script>
<script language="javascript" type="text/javascript">
function hide()
{
document.getElementById("ctl00_ContentPlaceHolder1_DIV1").style.display='none';
}
function showhide(s1,s2)
{
alert("sanjay");
alert(s1 +" : "+s2);
Open=new Image();
Closed=new Image();
Open.src="../Images/ifr_redarrow_down.gif";
Closed.src="../Images/ifr_redarrow_right.gif";
if (s1.style.display=='none')
{
s1.style.display='';
s2.src=Open.src;
}
else
{
s1.style.display='none'
s2.src=Closed.src;
}
}
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div style="margin-top:0px;">
<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" EnablePartialRendering="true" runat="server">
</asp:ScriptManager>
<div class="timesheet_maindiv">
<div class="timesheetdiv">
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="13" align="right"><img src='<%=ResolveClientUrl("~/Images/bg-l.gif")%>' width="13" height="27" alt="" /></td>
<td width="1311" style="background-image:url(../Images/bg-m.gif)" class="timesheet_heading">
» Time Sheet » Report</td>
<td width="13"><img src='<%=ResolveClientUrl("~/Images/bg-r.gif")%>' width="13" height="27" alt="" /></td>
</tr>
</table>
</div>
<div class="timesheetdiv">
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div class="timesheet_div">
<table width="96%" border="0" align="center" cellpadding="5" cellspacing="0" class="timesheet_tab">
<tr id="TR2" runat="server" >
<td width="40%" class="timesheet_txt">Select Project </td>
<td width="56%">
<asp:dropdownlist id="ddlproject" CssClass="timesheet_droplist" AutoPostBack="true"
runat="server" onselectedindexchanged="ddlproject_SelectedIndexChanged"></asp:dropdownlist>
<asp:RequiredFieldValidator ID="reqvalproject" runat="server" ControlToValidate="ddlproject" SetFocusOnError="true" InitialValue="0" TabIndex="1" ValidationGroup="grpreport" ErrorMessage="Please select project"></asp:RequiredFieldValidator>
</td>
</tr>
<tr id="TR1" runat="server" >
<td width="40%" class="timesheet_txt">Select Name </td>
<td width="56%">
<asp:dropdownlist CssClass="timesheet_droplist" id="ddlteam"
runat="server" onselectedindexchanged="ddlteam_SelectedIndexChanged"></asp:dropdownlist>
<asp:RequiredFieldValidator ID="reqvalteam" runat="server" ControlToValidate="ddlteam" SetFocusOnError="true" InitialValue="0" TabIndex="2" ValidationGroup="grpreport" ErrorMessage="Please select name"></asp:RequiredFieldValidator>
</td>
</tr>
<tr >
<td width="40%" class="timesheet_txt">Select Month</td>
<td width="56%"><asp:dropdownlist id="ddmonth" runat="server" TabIndex="3" CssClass="timesheet_droplist">
<asp:ListItem Value="1">January</asp:ListItem>
<asp:ListItem Value="2">February</asp:ListItem>
<asp:ListItem Value="3">March</asp:ListItem>
<asp:ListItem Value="4">April</asp:ListItem>
<asp:ListItem Value="5">May</asp:ListItem>
<asp:ListItem Value="6">June</asp:ListItem>
<asp:ListItem Value="7">July</asp:ListItem>
<asp:ListItem Value="8">August</asp:ListItem>
<asp:ListItem Value="9">September</asp:ListItem>
<asp:ListItem Value="10">October</asp:ListItem>
<asp:ListItem Value="11">November</asp:ListItem>
<asp:ListItem Value="12">December</asp:ListItem>
</asp:dropdownlist> </td>
</tr>
<tr>
<td width="40%" class="timesheet_txt">Select Year </td>
<td width="56%">
<asp:dropdownlist id="ddlyear" CssClass="timesheet_droplist" TabIndex="4" runat="server"></asp:dropdownlist>
</td>
</tr>
<tr>
<td class="timesheet_txt" > </td>
<td> </td>
</tr>
</table>
</div></td>
</tr>
<tr class="timesheet_bg">
<td><table width="266" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="82" height="38">
<div class="timesheet_button">
<asp:button id="btnGo" Width="85%" runat="server" CssClass="button" TabIndex="5" ValidationGroup="grpreport" Text="Go"
onclick="btnGo_Click"></asp:button>
</div>
</td>
<td width="103"><div class="printreport_button">
<input id="btnPrint" style="CURSOR: hand;" class="button" onclick="javascript:window.print();"
type="button" tabindex="6" value="Print Report" name="btnPrint"/></div></td>
<td width="81">
<div class="timesheet_button">
<input id="btnback" class="button" type="button" value="Back" tabindex="7" name="btnback" onclick="javascript:history.go(-2)" />
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</div>
</div>
<asp:UpdatePanel ID="update1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="DIV1" style="background-color:#f2f9cb;" runat="server">
<%=fn_data()%>
<%=monthtotal()%>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnGo" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
Comment