// //////////////////////////////////////////////////////////////////////// // EVENTS // protected void Page_Load(object sender, EventArgs e) { // Register client scripts this.RegisterClientScripts(); if (!IsPostBack) { // Validate query string if ((string)Request.QueryString["source_page"] == null) { Response.Redirect("./../../error_page.aspx?error=" + "Invalid query string in timesheet_approve.aspx"); } // Security check EmployeeGateway employeeGateway1 = new EmployeeGateway(new DataSet()); int employeeId = employeeGateway1.GetEmployeIdByLoginId(Convert.ToInt32(Session["loginID"])); hdfCurrentEmployeeId.Value = employeeGateway1.GetEmployeIdByLoginId(Convert.ToInt32(Session["loginID"])).ToString(); employeeGateway1.LoadByEmployeeId(employeeId); if (!employeeGateway1.GetApproveTimesheets(employeeId)) { Response.Redirect("./../../error_page.aspx?error=" + "You are not authorized to view this page. Contact your system administrator."); } // Tag page Session.Remove("projectTimeApproveDummy"); // Initialize variables lblError.Visible = false; // ... Initialize viewstate variables System.Configuration.AppSettingsReader appSettingReader = new System.Configuration.AppSettingsReader(); ViewState["LHMode"] = appSettingReader.GetValue("LABOUR_HOURS_OPERATION_MODE", typeof(System.String)).ToString(); // Labour Hours Mode check if ((string)ViewState["LHMode"] == "Partial") { Response.Redirect("./../../error_page.aspx?error=" + "The system is on partial mode. Contact your system administrator."); } ViewState["others"] = Request.QueryString["others"]; PayPeriodGateway payPeriodGateway = new PayPeriodGateway(new DataSet()); ViewState["period_id"] = payPeriodGateway.GetPayPeriodId(DateTime.Now); // Load data // ... Loading employees accordingly to the admins country. EmployeeList employeeList = new EmployeeList(new DataSet()); string employeeType = employeeGateway1.GetType(employeeId); odsClient.SelectParameters.RemoveAt(2); if (employeeType.Contains("CA")) { employeeList.LoadByRequestProjectTimeEmployeeTypeEmployeeIdApproveManagerAndAddItem(1, "CA", -1, "(All)", employeeId); odsClient.SelectParameters.Add("countryId", "1"); } else { if (employeeType.Contains("US")) { employeeList.LoadByRequestProjectTimeEmployeeTypeEmployeeIdApproveManagerAndAddItem(1, "US", -1, "(All)", employeeId); odsClient.SelectParameters.Add("countryId", "2"); } else { employeeList.LoadByRequestProjectTimeEmployeeTypeEmployeeIdApproveManagerAndAddItem(1, "SOTA", -1, "(All)", employeeId); odsClient.SelectParameters.Add("countryId", "-1"); } } odsClient.Select(); ddlClient.SelectedIndex = 0; upnlClient.Update(); ddlTeamMember.DataSource = employeeList.Table; ddlTeamMember.DataValueField = "EmployeeID"; ddlTeamMember.DataTextField = "FullName"; ddlTeamMember.DataBind(); odsProject.SelectParameters.RemoveAt(2); odsProject.SelectParameters.Add("clientId", "-1"); odsProject.Select(); ddlProject.DataBind(); ddlProject.SelectedIndex = 0; upnlProject.Update(); projectTimeApproveTDS = this.SubmitSearch(); // Store Datasets Session["projectTimeApproveTDS"] = projectTimeApproveTDS; projectTimeApprove = projectTimeApproveTDS.ProjectTimeApprove; Session["projectTimeApprove"] = projectTimeApproveTDS.ProjectTimeApprove; // If coming from // ... timesheet_edit.aspx, timesheet_summary.aspx or timesheet_delete.aspx if ((Request.QueryString["source_page"] == "timesheet_edit.aspx") || (Request.QueryString["source_page"] == "timesheet_summary.aspx") || (Request.QueryString["source_page"] == "timesheet_delete.aspx")) { // ... restore top values RestoreNavigatorState(); // ... filter grid information //SetFilterByCountryIdClientIdProjectId(); //SetFilterByEmployeeIdDate(); SetFilterByClientIdProjectIdEmployeeIdDate(); } ViewState["filter_expression"] = "Deleted = 0"; SetFocus(); } else { // Restore dataset projectTimeApproveTDS = (ProjectTimeApproveTDS)Session["projectTimeApproveTDS"]; projectTimeApprove = projectTimeApproveTDS.ProjectTimeApprove; Session["projectTimeApprove"] = projectTimeApproveTDS.ProjectTimeApprove; } }
protected void Page_PreRender(object sender, EventArgs e) { // Set active toolbar mForm6 master = (mForm6)this.Master; master.ActiveToolbar = "LabourHours"; // ... Labour Hours Mode if ((string)ViewState["LHMode"] == "Partial") { // Access control // ... Employees EmployeeListGateway employeeListGateway = new EmployeeListGateway(new DataSet()); employeeListGateway.LoadByRequestProjectTime(1); DropDownList ddlOthersFor = (DropDownList)tkrpbLeftMenuOthersTimesheets.FindItemByValue("nbOthersTimesheetsDDL").FindControl("ddlOthersFor"); ddlOthersFor.DataSource = employeeListGateway.Table; ddlOthersFor.DataValueField = "EmployeeID"; ddlOthersFor.DataTextField = "FullName"; ddlOthersFor.DataBind(); tkrpbLeftMenuMyTimesheets.Visible = false; tkrpbLeftMenuOthersTimesheets.Items[0].Text = "Timesheets"; tkrpbLeftMenuTools.Items[0].Items[1].Visible = false; } else { EmployeeGateway employeeGateway1 = new EmployeeGateway(new DataSet()); int employeeId = employeeGateway1.GetEmployeIdByLoginId(Convert.ToInt32(Session["loginID"])); employeeGateway1.LoadByEmployeeId(employeeId); if (Request.QueryString["source_page"] == "timesheet_approve.aspx") { tkrmTop.Items[3].Visible = false; //Timesheet tkrmTop.Items[4].Visible = true; //Approve Project Times } else { tkrmTop.Items[3].Visible = true; //Timesheet // Timesheet state check ProjectTimeGateway projectTimeGatewayForState = new ProjectTimeGateway(projectTimeTDS); int projecttime_id = Int32.Parse(ViewState["projecttime_id"].ToString()); if (projectTimeGatewayForState.GetProjectTimeState(projecttime_id) == "For Approval") { tkrmTop.Items[4].Visible = true; //Approve Project Times } else { tkrmTop.Items[4].Visible = false; //Approve Project Times } } if (!employeeGateway1.GetApproveTimesheets(employeeId)) { tkrpbLeftMenuTools.Items[0].Items[1].Visible = false; //Approve Project Times } if (Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_OTHERS_TIMESHEETS_VIEW"]) || Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_OTHERS_TIMESHEETS_MANAGEMENT"]) || Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_OTHERS_TIMESHEETS_MANAGEMENT_WED"]) || Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_FULL_EDITING"])) { tkrpbLeftMenuOthersTimesheets.Visible = true; tkrpbLeftMenuTools.Items[0].Items[0].Visible = true; // Add Team Project Time tkrpbLeftMenuTools.Items[0].Items[2].Visible = true; // Missing Project Time // Access control // ... Employees EmployeeListGateway employeeListGateway = new EmployeeListGateway(new DataSet()); if (!Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_FULL_EDITING"])) { employeeListGateway.LoadByRequestProjectTimeWithoutEmployeeId(1, employeeId); } else { employeeListGateway.LoadByRequestProjectTime(1); } DropDownList ddlOthersFor = (DropDownList)tkrpbLeftMenuOthersTimesheets.FindItemByValue("nbOthersTimesheetsDDL").FindControl("ddlOthersFor"); ddlOthersFor.DataSource = employeeListGateway.Table; ddlOthersFor.DataValueField = "EmployeeID"; ddlOthersFor.DataTextField = "FullName"; ddlOthersFor.DataBind(); try { ddlOthersFor.SelectedValue = Session["ddlOthersForSelectedValue"].ToString(); } catch { } } else { tkrpbLeftMenuOthersTimesheets.Visible = false; if (!employeeGateway1.GetApproveTimesheets(employeeId)) { tkrpbLeftMenuTools.Visible = false; } tkrpbLeftMenuTools.Items[0].Items[0].Visible = false; // Add Team Project Time tkrpbLeftMenuTools.Items[0].Items[2].Visible = false; // Missing Project Time } if (!((Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_MY_TIMESHEETS_VIEW"]) || Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_MY_TIMESHEETS_MANAGEMENT"]) || Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_MY_TIMESHEETS_MANAGEMENT_WED"]) || Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_FULL_EDITING"])) && (employeeGateway1.GetRequestProjectTime(employeeId)))) { tkrpbLeftMenuMyTimesheets.Visible = false; tkrpbLeftMenuOthersTimesheets.Items[0].Text = "Timesheets"; } if (!Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_FULL_EDITING"])) { if (!Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_REPORTS"])) { tkrpbLeftMenuReports.Visible = false; } } // Get ProjectTime record, can't edit or delete approved timesheets ProjectTimeGateway projectTimeGateway = new ProjectTimeGateway(projectTimeTDS); projectTimeGateway.LoadByProjectTimeId((int)ViewState["projecttime_id"]); if (!Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_FULL_EDITING"])) { if (projectTimeGateway.GetProjectTimeState((int)ViewState["projecttime_id"]) == "Approved") { tkrmTop.Items[1].Visible = false; tkrmTop.Items[2].Visible = false; } } } }
/// <summary> /// IsValidApproveTimesheetsManager /// </summary> /// <param name="employeeIdToApprove">employeeIdToApprove</param> /// <param name="employeeIdApproveManager">employeeIdApproveManager</param> /// <returns>TRUE OR FALSE</returns> public bool IsValidApproveTimesheetsManager(int employeeIdToApprove, int employeeIdApproveManager) { EmployeeGateway employeeGatewayForEmployeeApproveManager = new EmployeeGateway(new DataSet()); employeeGatewayForEmployeeApproveManager.LoadByEmployeeId(employeeIdApproveManager); EmployeeGateway employeeGatewayForEmployeeToApprove = new EmployeeGateway(new DataSet()); employeeGatewayForEmployeeToApprove.LoadByEmployeeId(employeeIdToApprove); if (!employeeGatewayForEmployeeApproveManager.GetApproveTimesheets(employeeIdApproveManager)) { return false; } else { if (employeeIdToApprove == employeeIdApproveManager) { return true; } else { string employeeToApproveType = employeeGatewayForEmployeeToApprove.GetType(employeeIdToApprove); string employeeApproveManagerType = employeeGatewayForEmployeeApproveManager.GetType(employeeIdApproveManager); string employeeToApproveCategory = employeeGatewayForEmployeeToApprove.GetCategory(employeeIdToApprove); if (ContainsType(employeeToApproveType, employeeApproveManagerType)) { EmployeeGateway employeeGateway = new EmployeeGateway(); if (employeeGateway.IsEmployeeWithApproveTimesheetInCategory(employeeIdApproveManager, employeeToApproveCategory)) { return true; } else { return false; } } else { return false; } } } }
protected void Page_PreRender(object sender, EventArgs e) { // Set active toolbar mForm6 master = (mForm6)this.Master; master.ActiveToolbar = "LabourHours"; // ... Labour Hours Mode if ((string)ViewState["LHMode"] == "Partial") { // Access control // ... Employees EmployeeListGateway employeeListGateway = new EmployeeListGateway(new DataSet()); employeeListGateway.LoadByRequestProjectTime(1); DropDownList ddlOthersFor = (DropDownList)tkrpbLeftMenuOthersTimesheets.FindItemByValue("nbOthersTimesheetsDDL").FindControl("ddlOthersFor"); ddlOthersFor.DataSource = employeeListGateway.Table; ddlOthersFor.DataValueField = "EmployeeID"; ddlOthersFor.DataTextField = "FullName"; ddlOthersFor.DataBind(); tkrpbLeftMenuMyTimesheets.Visible = false; tkrpbLeftMenuOthersTimesheets.Items[0].Text = "Timesheets"; tkrpbLeftMenuTools.Items[0].Items[1].Visible = false; } else { EmployeeGateway employeeGateway1 = new EmployeeGateway(new DataSet()); int employeeIdForMenu = employeeGateway1.GetEmployeIdByLoginId(Convert.ToInt32(Session["loginID"])); employeeGateway1.LoadByEmployeeId(employeeIdForMenu); if (!employeeGateway1.GetApproveTimesheets(employeeIdForMenu)) { tkrpbLeftMenuTools.Items[0].Items[1].Visible = false; // Timesheets To Approve } if (Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_OTHERS_TIMESHEETS_VIEW"]) || Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_OTHERS_TIMESHEETS_MANAGEMENT"]) || Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_OTHERS_TIMESHEETS_MANAGEMENT_WED"]) || Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_FULL_EDITING"])) { tkrpbLeftMenuOthersTimesheets.Visible = true; tkrpbLeftMenuTools.Items[0].Items[0].Visible = true; // Add Team Project Time tkrpbLeftMenuTools.Items[0].Items[2].Visible = true; // Missing Project Time // Access control // ... Employees EmployeeListGateway employeeListGateway = new EmployeeListGateway(new DataSet()); if (!Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_FULL_EDITING"])) { employeeListGateway.LoadByRequestProjectTimeWithoutEmployeeId(1, employeeIdForMenu); } else { employeeListGateway.LoadByRequestProjectTime(1); } DropDownList ddlOthersFor = (DropDownList)tkrpbLeftMenuOthersTimesheets.FindItemByValue("nbOthersTimesheetsDDL").FindControl("ddlOthersFor"); ddlOthersFor.DataSource = employeeListGateway.Table; ddlOthersFor.DataValueField = "EmployeeID"; ddlOthersFor.DataTextField = "FullName"; ddlOthersFor.DataBind(); try { ddlOthersFor.SelectedValue = Session["ddlOthersForSelectedValue"].ToString(); } catch { } } else { tkrpbLeftMenuOthersTimesheets.Visible = false; if (!employeeGateway1.GetApproveTimesheets(employeeIdForMenu)) { tkrpbLeftMenuTools.Visible = false; } tkrpbLeftMenuTools.Items[0].Items[0].Visible = false; // Add Team Project Time tkrpbLeftMenuTools.Items[0].Items[2].Visible = false; // Missing Project Time } if (!((Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_MY_TIMESHEETS_VIEW"]) || Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_MY_TIMESHEETS_MANAGEMENT"]) || Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_MY_TIMESHEETS_MANAGEMENT_WED"]) || Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_FULL_EDITING"])) && (employeeGateway1.GetRequestProjectTime(employeeIdForMenu)))) { tkrpbLeftMenuMyTimesheets.Visible = false; tkrpbLeftMenuOthersTimesheets.Items[0].Text = "Timesheets"; } if (!Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_FULL_EDITING"])) { if (!Convert.ToBoolean(Session["sgLFS_LABOUR_HOURS_REPORTS"])) { tkrpbLeftMenuReports.Visible = false; } } } }
// //////////////////////////////////////////////////////////////////////// // EVENTS // protected void Page_Load(object sender, EventArgs e) { // Register client scripts this.RegisterClientScripts(); if (!IsPostBack) { // Validate query string if (((string)Request.QueryString["source_page"] == null) && ((string)Request.QueryString["others"] == null)) { Response.Redirect("./../../error_page.aspx?error=" + "Invalid query string in timesheet_state.aspx"); } // Security check EmployeeGateway employeeGateway1 = new EmployeeGateway(new DataSet()); int employeeId = employeeGateway1.GetEmployeIdByLoginId(Convert.ToInt32(Session["loginID"])); employeeGateway1.LoadByEmployeeId(employeeId); if (!employeeGateway1.GetApproveTimesheets(employeeId)) { Response.Redirect("./../../error_page.aspx?error=" + "You are not authorized to view this page. Contact your system administrator."); } else { if (!ValidateWedManagement()) { Response.Redirect("./../../error_page.aspx?error=" + "You are not authorized to view this page. Contact your system administrator."); } } // Initialize viewstate variables System.Configuration.AppSettingsReader appSettingReader = new System.Configuration.AppSettingsReader(); ViewState["LHMode"] = appSettingReader.GetValue("LABOUR_HOURS_OPERATION_MODE", typeof(System.String)).ToString(); ViewState["others"] = Request.QueryString["others"]; ViewState["employee_id"] = int.Parse(Request.QueryString["employee_id"]); ViewState["period_id"] = int.Parse(Request.QueryString["period_id"]); ViewState["source_page"] = Request.QueryString["source_page"]; if ((string)ViewState["source_page"] == "timesheet_summary.aspx") { ViewState["projecttime_id"] = int.Parse(Request.QueryString["projecttime_id"]); } // Labour Hours Mode check if ((string)ViewState["LHMode"] == "Partial") { Response.Redirect("./../../error_page.aspx?error=" + "The system is on partial mode. Contact your system administrator."); } // Timesheet state check projectTimeTDSForState = new ProjectTimeTDS(); ProjectTimeGateway projectTimeGateway = new ProjectTimeGateway(projectTimeTDSForState); projectTimeGateway.ClearBeforeFill = false; if ((string)ViewState["source_page"] == "timesheet_approve.aspx") { List<int> projectTimesIdSelected = ((List<int>)Session["projectTimesIdSelected"]); foreach (int projectTimeId in projectTimesIdSelected) { projectTimeGateway.LoadByProjectTimeId(projectTimeId); } } else { if ((string)ViewState["source_page"] == "timesheet_summary.aspx") { int projecttime_id = Int32.Parse(ViewState["projecttime_id"].ToString()); projectTimeGateway.LoadByProjectTimeId(projecttime_id); } } projectTimeGateway.ClearBeforeFill = true; // Store datasets Session["projectTimeTDSForState"] = projectTimeTDSForState; } else { // Restore datasets projectTimeTDSForState = (ProjectTimeTDS)Session["projectTimeTDSForState"]; } }