Expand|Select|Wrap|Line Numbers
- 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:
Expand|Select|Wrap|Line Numbers
- <%@ 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>