protected void grdSubcontractors_RowUpdating(object sender, GridViewUpdateEventArgs e) { // Validate general data Page.Validate("subcontractorsEdit"); int projectId = Int32.Parse(hdfProjectId.Value); ProjectGateway projectGateway = new ProjectGateway(); if (Page.IsValid) { // Validate costs projectGateway.LoadByProjectId(projectId); if (projectGateway.GetCountryID(projectId) == 1) //Canada { Page.Validate("subcontractorsCadEdit"); } else { Page.Validate("subcontractorsUsdEdit"); } } if (Page.IsValid) { int costingSheetId = (int)e.Keys["CostingSheetID"]; int subcontractorId = (int)e.Keys["SubcontractorID"]; int refId = (int)e.Keys["RefID"]; int companyId = Int32.Parse(hdfCompanyId.Value); string unitOfMeasurement = ((DropDownList)grdSubcontractors.Rows[e.RowIndex].Cells[0].FindControl("ddlUnitOfMeasurementSubcontractorsEdit")).SelectedValue; string subcontractor = ((TextBox)grdSubcontractors.Rows[e.RowIndex].Cells[0].FindControl("tbxSubcontractorEdit")).Text; double quantity = double.Parse(((TextBox)grdSubcontractors.Rows[e.RowIndex].Cells[0].FindControl("tbxQuantityEdit")).Text.Trim()); decimal costCad = 0.0M; decimal totalCostCad = 0.0M; decimal costUsd = 0.0M; decimal totalCostUsd = 0.0M; if (projectGateway.GetCountryID(projectId) == 1) //Canada { costCad = Decimal.Parse(((TextBox)grdSubcontractors.Rows[e.RowIndex].Cells[0].FindControl("tbxCostCADEdit")).Text.Trim()); totalCostCad = (costCad * decimal.Parse(quantity.ToString())); totalCostCad = Decimal.Round(totalCostCad, 2); } else { costUsd = Decimal.Parse(((TextBox)grdSubcontractors.Rows[e.RowIndex].Cells[0].FindControl("tbxCostUSDEdit")).Text.Trim()); totalCostUsd = (costUsd * decimal.Parse(quantity.ToString())); totalCostUsd = Decimal.Round(totalCostUsd, 2); } DateTime startDate = ((RadDatePicker)grdSubcontractors.Rows[e.RowIndex].Cells[0].FindControl("tkrdpStartDateEdit")).SelectedDate.Value; DateTime endDate = ((RadDatePicker)grdSubcontractors.Rows[e.RowIndex].Cells[0].FindControl("tkrdpEndDateEdit")).SelectedDate.Value; // Update data ProjectCombinedCostingSheetInformationSubcontractorsInformation model = new ProjectCombinedCostingSheetInformationSubcontractorsInformation(projectCostingSheetInformationTDS); model.Update(costingSheetId, subcontractorId, refId, unitOfMeasurement, quantity, costCad, totalCostCad, costUsd, totalCostUsd, false, companyId, subcontractor, startDate, endDate); // Store dataset subcontractorsInformation = (ProjectCostingSheetInformationTDS.CombinedSubcontractorsInformationDataTable)model.Table; Session["subcontractorsInformation"] = subcontractorsInformation; Session["projectCostingSheetInformationTDS"] = projectCostingSheetInformationTDS; StepSubcontractorsInformationProcessGrid(); } else { e.Cancel = true; } }
protected void grdSubcontractors_RowDeleting(object sender, GridViewDeleteEventArgs e) { // Subcontractors Gridview, if the gridview is edition mode if (grdSubcontractors.EditIndex >= 0) { grdSubcontractors.UpdateRow(grdSubcontractors.EditIndex, true); } // Delete subcontractor int costingSheetId = (int)e.Keys["CostingSheetID"]; int subcontractorId = (int)e.Keys["SubcontractorID"]; int refId = (int)e.Keys["RefID"]; ProjectCombinedCostingSheetInformationSubcontractorsInformation model = new ProjectCombinedCostingSheetInformationSubcontractorsInformation(projectCostingSheetInformationTDS); model.Delete(costingSheetId, subcontractorId, refId); // Store dataset subcontractorsInformation = (ProjectCostingSheetInformationTDS.CombinedSubcontractorsInformationDataTable)model.Table; Session["subcontractorsInformation"] = subcontractorsInformation; Session["projectCostingSheetInformationTDS"] = projectCostingSheetInformationTDS; StepSubcontractorsInformationProcessGrid(); }
protected void grdSubcontractors_RowCommand(object sender, GridViewCommandEventArgs e) { switch (e.CommandName) { case "Add": // Subcontractors Gridview, if the gridview is edition mode if (grdSubcontractors.EditIndex >= 0) { grdSubcontractors.UpdateRow(grdSubcontractors.EditIndex, true); } // Validate general data Page.Validate("subcontractorsNew"); int projectId = Int32.Parse(hdfProjectId.Value); ProjectGateway projectGateway = new ProjectGateway(); if (Page.IsValid) { // Validate costs projectGateway.LoadByProjectId(projectId); if (projectGateway.GetCountryID(projectId) == 1) //Canada { Page.Validate("subcontractorsCadNew"); } else { Page.Validate("subcontractorsUsdNew"); } } if (Page.IsValid) { int companyId = Int32.Parse(hdfCompanyId.Value); int subcontractorId = Int32.Parse(((DropDownList)grdSubcontractors.FooterRow.FindControl("ddlSubcontractorNew")).SelectedValue); string unitOfMeasurement = ((DropDownList)grdSubcontractors.FooterRow.FindControl("ddlUnitOfMeasurementSubcontractorsNew")).SelectedValue; string subcontractor = ((DropDownList)grdSubcontractors.FooterRow.FindControl("ddlSubcontractorNew")).SelectedItem.Text; double quantity = double.Parse(((TextBox)grdSubcontractors.FooterRow.FindControl("tbxQuantityNew")).Text.Trim()); string comment = ""; if (!string.IsNullOrEmpty(((TextBox)grdSubcontractors.FooterRow.FindControl("tbxCommentNew")).Text.Trim())) comment = ((TextBox)grdSubcontractors.FooterRow.FindControl("tbxCommentNew")).Text.Trim(); decimal costCad = 0.0M; decimal totalCostCad = 0.0M; decimal costUsd = 0.0M; decimal totalCostUsd = 0.0M; if (projectGateway.GetCountryID(projectId) == 1) //Canada { costCad = Decimal.Parse(((TextBox)grdSubcontractors.FooterRow.FindControl("tbxCostCADNew")).Text.Trim()); totalCostCad = (costCad * decimal.Parse(quantity.ToString())); totalCostCad = Decimal.Round(totalCostCad, 2); } else { costUsd = Decimal.Parse(((TextBox)grdSubcontractors.FooterRow.FindControl("tbxCostUSDNew")).Text.Trim()); totalCostUsd = (costUsd * decimal.Parse(quantity.ToString())); totalCostUsd = Decimal.Round(totalCostUsd, 2); } DateTime startDate = ((RadDatePicker)grdSubcontractors.FooterRow.FindControl("tkrdpStartDateNew")).SelectedDate.Value; DateTime endDate = ((RadDatePicker)grdSubcontractors.FooterRow.FindControl("tkrdpEndDateNew")).SelectedDate.Value; ProjectCombinedCostingSheetInformationSubcontractorsInformation model = new ProjectCombinedCostingSheetInformationSubcontractorsInformation(projectCostingSheetInformationTDS); model.Insert(0, subcontractorId, unitOfMeasurement, quantity, costCad, totalCostCad, costUsd, totalCostUsd, false, companyId, subcontractor, startDate, endDate, comment); Session.Remove("subcontractorsInformationDummy"); subcontractorsInformation = (ProjectCostingSheetInformationTDS.CombinedSubcontractorsInformationDataTable)model.Table; Session["subcontractorsInformation"] = subcontractorsInformation; Session["projectCostingSheetInformationTDS"] = projectCostingSheetInformationTDS; grdSubcontractors.DataBind(); StepSubcontractorsInformationProcessGrid(); } break; } }
protected void SubcontractorsInformationEmptyFix(GridView grdView) { if (grdView.Rows.Count == 0) { int companyId = Int32.Parse(hdfCompanyId.Value); ProjectCostingSheetInformationTDS.CombinedSubcontractorsInformationDataTable dt = new ProjectCostingSheetInformationTDS.CombinedSubcontractorsInformationDataTable(); dt.AddCombinedSubcontractorsInformationRow(0, 0, 0, "", 0, 0, 0, 0, 0, false, companyId, false, "", DateTime.Now, DateTime.Now, "", 0, ""); Session["subcontractorsInformationDummy"] = dt; grdView.DataBind(); } // Normally executes at all postbacks if (grdView.Rows.Count == 1) { ProjectCostingSheetInformationTDS.CombinedSubcontractorsInformationDataTable dt = (ProjectCostingSheetInformationTDS.CombinedSubcontractorsInformationDataTable)Session["subcontractorsInformationDummy"]; if (dt != null) { // Hide row grdView.Rows[0].Visible = false; grdView.Rows[0].Controls.Clear(); } } }
public ProjectCostingSheetInformationTDS.CombinedSubcontractorsInformationDataTable GetSubcontractorsInformation() { subcontractorsInformation = (ProjectCostingSheetInformationTDS.CombinedSubcontractorsInformationDataTable)Session["subcontractorsInformationDummy"]; if (subcontractorsInformation == null) { subcontractorsInformation = (ProjectCostingSheetInformationTDS.CombinedSubcontractorsInformationDataTable)Session["subcontractorsInformation"]; } return subcontractorsInformation; }
// //////////////////////////////////////////////////////////////////////// // INITIAL EVENTS // protected void Page_Load(object sender, EventArgs e) { // Register client scripts this.RegisterClientScripts(); if (!IsPostBack) { // Security check if (!Convert.ToBoolean(Session["sgLFS_PROJECTS_COSTINGSHEETS_ADMIN"])) { if (!(Convert.ToBoolean(Session["sgLFS_PROJECTS_COSTINGSHEETS_VIEW"]) && Convert.ToBoolean(Session["sgLFS_PROJECTS_COSTINGSHEETS_EDIT"]))) { Response.Redirect("./../../error_page.aspx?error=" + "You are not authorized to view this page. Contact your system administrator."); } } // Validate query string if (((string)Request.QueryString["source_page"] == null) || ((string)Request.QueryString["costing_sheet_id"] == null)) { Response.Redirect("./../../error_page.aspx?error=" + "Invalid query string in project_combined_costing_sheets_edit.aspx"); } // Tag Page hdfCostingSheetId.Value = Request.QueryString["costing_sheet_id"].ToString(); hdfCompanyId.Value = Session["companyID"].ToString(); hdfProjectId.Value = Request.QueryString["project_id"]; hdfDataChanged.Value = Request.QueryString["data_changed"]; hdfDataChangedMessage.Value = "Changes made to this project will not be saved."; ViewState["state"] = Request.QueryString["state"]; ViewState["active_tab"] = Request.QueryString["active_tab"]; ViewState["origin"] = Request.QueryString["origin"]; ViewState["update"] = Request.QueryString["update"]; projectTDS = (ProjectTDS)Session["lfsProjectTDS"]; Session.Remove("labourHoursInformationDummy"); Session.Remove("unitsInformationDummy"); Session.Remove("subcontractorsInformationDummy"); Session.Remove("materialsInformationDummy"); Session.Remove("otherCostsInformationDummy"); Session.Remove("revenueInformationDummy"); // If coming from project_combined_costing_sheets_navigator.aspx or project_combined_costing_sheets_add.aspx int companyId = Int32.Parse(hdfCompanyId.Value); if (Request.QueryString["source_page"] == "project_costing_sheets_navigator.aspx" || Request.QueryString["source_page"] == "project_combined_costing_sheets_add.aspx") { // Store Navigator State and Update control StoreNavigatorState(); ViewState["update"] = "no"; // Get Costing sheet ID int costingSheetId = Int32.Parse(hdfCostingSheetId.Value.Trim()); // Get dataset projectTDS = (ProjectTDS)Session["lfsProjectTDS"]; projectCostingSheetInformationTDS = new ProjectCostingSheetInformationTDS(); labourHoursInformation = new ProjectCostingSheetInformationTDS.CombinedLabourHoursInformationDataTable(); unitsInformation = new ProjectCostingSheetInformationTDS.CombinedUnitsInformationDataTable(); subcontractorsInformation = new ProjectCostingSheetInformationTDS.CombinedSubcontractorsInformationDataTable(); materialsInformation = new ProjectCostingSheetInformationTDS.CombinedMaterialsInformationDataTable(); otherCostsInformation = new ProjectCostingSheetInformationTDS.CombinedOtherCostsInformationDataTable(); revenueInformation = new ProjectCostingSheetInformationTDS.CombinedRevenueInformationDataTable(); // Get General Data ProjectCombinedCostingSheetInformationBasicInformation projectCostingSheetInformationBasicInformation = new ProjectCombinedCostingSheetInformationBasicInformation(projectCostingSheetInformationTDS); projectCostingSheetInformationBasicInformation.LoadByCostingSheetId(costingSheetId, companyId); ProjectCombinedCostingSheetInformationLabourHoursInformationGateway projectCostingSheetInformationLabourHoursInformationGateway = new ProjectCombinedCostingSheetInformationLabourHoursInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationLabourHoursInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); ProjectCombinedCostingSheetInformationUnitsInformationGateway projectCostingSheetInformationUnitsInformationGateway = new ProjectCombinedCostingSheetInformationUnitsInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationUnitsInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); ProjectCombinedCostingSheetInformationSubcontractorsInformationGateway projectCostingSheetInformationSubcontractorsInformationGateway = new ProjectCombinedCostingSheetInformationSubcontractorsInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationSubcontractorsInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); ProjectCombinedCostingSheetInformationMaterialsInformationGateway projectCostingSheetInformationMaterialsInformationGateway = new ProjectCombinedCostingSheetInformationMaterialsInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationMaterialsInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); ProjectCombinedCostingSheetInformationOtherCostsInformationGateway projectCostingSheetInformationOtherCostsInformationGateway = new ProjectCombinedCostingSheetInformationOtherCostsInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationOtherCostsInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); projectCombinedCostingSheetInformationRevenueInformationGateway projectCombinedCostingSheetInformationRevenueInformationGateway = new projectCombinedCostingSheetInformationRevenueInformationGateway(projectCostingSheetInformationTDS); projectCombinedCostingSheetInformationRevenueInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); Session["lfsProjectTDS"] = projectTDS; Session["projectCostingSheetInformationTDS"] = projectCostingSheetInformationTDS; Session["labourHoursInformation"] = projectCostingSheetInformationTDS.CombinedLabourHoursInformation; Session["unitsInformation"] = projectCostingSheetInformationTDS.CombinedUnitsInformation; Session["subcontractorsInformation"] = projectCostingSheetInformationTDS.CombinedSubcontractorsInformation; Session["materialsInformation"] = projectCostingSheetInformationTDS.CombinedMaterialsInformation; Session["otherCostsInformation"] = projectCostingSheetInformationTDS.CombinedOtherCostsInformation; Session["revenueInformation"] = projectCostingSheetInformationTDS.CombinedRevenueInformation; labourHoursInformation = projectCostingSheetInformationTDS.CombinedLabourHoursInformation; unitsInformation = projectCostingSheetInformationTDS.CombinedUnitsInformation; subcontractorsInformation = projectCostingSheetInformationTDS.CombinedSubcontractorsInformation; materialsInformation = projectCostingSheetInformationTDS.CombinedMaterialsInformation; otherCostsInformation = projectCostingSheetInformationTDS.CombinedOtherCostsInformation; revenueInformation = projectCostingSheetInformationTDS.CombinedRevenueInformation; } // ... project_combined_costing_sheets_add.aspx if (Request.QueryString["source_page"] == "project_combined_costing_sheets_add.aspx") { ViewState["update"] = "yes"; } // ... left menu, project_combined_costing_sheets_edit.aspx, project_combined_costing_sheets_delete.aspx or project_combined_costing_sheets_state.aspx if ((Request.QueryString["source_page"] == "lm") || (Request.QueryString["source_page"] == "project_combined_costing_sheets_summary.aspx") || (Request.QueryString["source_page"] == "project_combined_costing_sheets_delete.aspx") || (Request.QueryString["source_page"] == "project_combined_costing_sheets_state.aspx")) { // Store Navigator State and Update control StoreNavigatorState(); ViewState["update"] = Request.QueryString["update"]; } // Restore dataset projectTDS = (ProjectTDS)Session["lfsProjectTDS"]; projectCostingSheetInformationTDS = (ProjectCostingSheetInformationTDS)Session["projectCostingSheetInformationTDS"]; labourHoursInformation = (ProjectCostingSheetInformationTDS.CombinedLabourHoursInformationDataTable)Session["labourHoursInformation"]; unitsInformation = (ProjectCostingSheetInformationTDS.CombinedUnitsInformationDataTable)Session["unitsInformation"]; subcontractorsInformation = (ProjectCostingSheetInformationTDS.CombinedSubcontractorsInformationDataTable)Session["subcontractorsInformation"]; materialsInformation = (ProjectCostingSheetInformationTDS.CombinedMaterialsInformationDataTable)Session["materialsInformation"]; otherCostsInformation = (ProjectCostingSheetInformationTDS.CombinedOtherCostsInformationDataTable)Session["otherCostsInformation"]; revenueInformation = (ProjectCostingSheetInformationTDS.CombinedRevenueInformationDataTable)Session["revenueInformation"]; if (!Convert.ToBoolean(Session["sgLFS_PROJECTS_COSTINGSHEETS_ADMIN"])) { // Costing Sheet state check ProjectCombinedCostingSheetInformationBasicInformationGateway projectCostingSheetInformationBasicInformationGatewayForValidate = new ProjectCombinedCostingSheetInformationBasicInformationGateway(projectCostingSheetInformationTDS); string state = projectCostingSheetInformationBasicInformationGatewayForValidate.GetState(Int32.Parse(hdfCostingSheetId.Value)); if (state == "Approved") { Response.Redirect("./../../error_page.aspx?error=" + "This costing sheet is approved, you can not edit it."); } } ProjectGateway projectGateway = new ProjectGateway(projectTDS); hdfClientId.Value = projectGateway.GetClientID(Int32.Parse(hdfProjectId.Value.ToString())).ToString(); // ... for project int currentProjectId = Int32.Parse(hdfProjectId.Value.ToString()); string name = projectGateway.GetName(currentProjectId); if (name.Length > 23) name = name.Substring(0, 20) + "..."; lblTitleProjectName.Text = name + " (" + projectGateway.GetProjectNumber(currentProjectId) + ")"; // ... for client int currentClientId = projectGateway.GetClientID(Int32.Parse(hdfProjectId.Value.ToString())); CompaniesGateway companiesGateway = new CompaniesGateway(); companiesGateway.LoadAllByCompaniesId(currentClientId, companyId); lblTitleClientName.Text = "Client: " + companiesGateway.GetName(currentClientId); LoadBasicData(); } else { // Restore dataset projectTDS = (ProjectTDS)Session["lfsProjectTDS"]; projectCostingSheetInformationTDS = (ProjectCostingSheetInformationTDS)Session["projectCostingSheetInformationTDS"]; labourHoursInformation = (ProjectCostingSheetInformationTDS.CombinedLabourHoursInformationDataTable)Session["labourHoursInformation"]; unitsInformation = (ProjectCostingSheetInformationTDS.CombinedUnitsInformationDataTable)Session["unitsInformation"]; subcontractorsInformation = (ProjectCostingSheetInformationTDS.CombinedSubcontractorsInformationDataTable)Session["subcontractorsInformation"]; materialsInformation = (ProjectCostingSheetInformationTDS.CombinedMaterialsInformationDataTable)Session["materialsInformation"]; otherCostsInformation = (ProjectCostingSheetInformationTDS.CombinedOtherCostsInformationDataTable)Session["otherCostsInformation"]; revenueInformation = (ProjectCostingSheetInformationTDS.CombinedRevenueInformationDataTable)Session["revenueInformation"]; } }