private void UpdateDatabase() { DB.Open(); DB.BeginTransaction(); try { int companyId = Int32.Parse(hdfCompanyId.Value); int loginId = Convert.ToInt32(Session["loginID"]); if (cbxEndConfirm.Checked) { ProjectCostingSheetAddBasicInformation projectCostingSheetAddBasicInformation = new ProjectCostingSheetAddBasicInformation(projectCostingSheetAddTDS); int costingSheetId = projectCostingSheetAddBasicInformation.Save(companyId); hdfCostingSheetId.Value = costingSheetId.ToString(); // Save costs information ProjectCostingSheetAddLabourHoursInformation projectCostingSheetAddLabourHoursInformation = new ProjectCostingSheetAddLabourHoursInformation(projectCostingSheetAddTDS); projectCostingSheetAddLabourHoursInformation.Save(companyId, costingSheetId); ProjectCostingSheetAddUnitsInformation projectCostingSheetAddUnitsInformation = new ProjectCostingSheetAddUnitsInformation(projectCostingSheetAddTDS); projectCostingSheetAddUnitsInformation.Save(companyId, costingSheetId); ProjectCostingSheetAddMaterialsInformation projectCostingSheetAddMaterialsInformation = new ProjectCostingSheetAddMaterialsInformation(projectCostingSheetAddTDS); projectCostingSheetAddMaterialsInformation.Save(companyId, costingSheetId); ProjectCostingSheetAddSubcontractorsInformation projectCostingSheetAddSubcontractorsInformation = new ProjectCostingSheetAddSubcontractorsInformation(projectCostingSheetAddTDS); projectCostingSheetAddSubcontractorsInformation.Save(companyId, costingSheetId); ProjectCostingSheetAddOtherCostsInformation projectCostingSheetAddOtherCostsInformation = new ProjectCostingSheetAddOtherCostsInformation(projectCostingSheetAddTDS); projectCostingSheetAddOtherCostsInformation.Save(companyId, costingSheetId); ProjectCostingSheetAddHotelsInformation projectCostingSheetAddHotelsInformation = new ProjectCostingSheetAddHotelsInformation(projectCostingSheetAddTDS); projectCostingSheetAddHotelsInformation.Save(companyId, costingSheetId); ProjectCostingSheetAddBondingsInformation projectCostingSheetAddBondingsInformation = new ProjectCostingSheetAddBondingsInformation(projectCostingSheetAddTDS); projectCostingSheetAddBondingsInformation.Save(companyId, costingSheetId); ProjectCostingSheetAddInsurancesInformation projectCostingSheetAddInsurancesInformation = new ProjectCostingSheetAddInsurancesInformation(projectCostingSheetAddTDS); projectCostingSheetAddInsurancesInformation.Save(companyId, costingSheetId); ProjectCostingSheetAddOtherCategoryInformation projectCostingSheetAddOtherCategoryInformation = new ProjectCostingSheetAddOtherCategoryInformation(projectCostingSheetAddTDS); projectCostingSheetAddOtherCategoryInformation.Save(companyId, costingSheetId); ProjectCostingSheetAddRevenueInformation projectCostingSheetAddRevenueInformation = new ProjectCostingSheetAddRevenueInformation(projectCostingSheetAddTDS); projectCostingSheetAddRevenueInformation.Save(companyId, costingSheetId); if (rbtnBeginTemplate.Checked) { ProjectCostingSheetTemplateInformation projectCostingSheetTemplateInformation = new ProjectCostingSheetTemplateInformation(projectCostingSheetAddTDS); projectCostingSheetTemplateInformation.Save(companyId); } } else { if (cbxEndSave.Checked) { ProjectCostingSheetTemplateInformation projectCostingSheetTemplateInformation = new ProjectCostingSheetTemplateInformation(projectCostingSheetAddTDS); projectCostingSheetTemplateInformation.Save(companyId); } else { if (rbtnBeginTemplate.Checked) { ProjectCostingSheetTemplateInformation projectCostingSheetTemplateInformation = new ProjectCostingSheetTemplateInformation(projectCostingSheetAddTDS); projectCostingSheetTemplateInformation.Save(companyId); } } } DB.CommitTransaction(); // Store datasets projectCostingSheetAddTDS.AcceptChanges(); Session["projectCostingSheetAddTDS"] = projectCostingSheetAddTDS; } catch (Exception ex) { DB.RollbackTransaction(); string url = string.Format("./../../error_page.aspx?error={0}", ex.Message.Replace('\n', ' ')); Response.Redirect(url); } }
// //////////////////////////////////////////////////////////////////////// // STEP7 - SUBCONTRACTOR INFORMATION - METHODS // private void StepSubcontractorsInformationIn() { // Set instruction Label instruction = (Label)this.Master.FindControl("lblInstruction"); instruction.Text = "Please verify Subcontractors information"; // Load ProjectCostingSheetAddSubcontractorsInformation model = new ProjectCostingSheetAddSubcontractorsInformation(projectCostingSheetAddTDS); if (projectCostingSheetAddTDS.SubcontractorsInformation.Rows.Count <= 0) { model.Load(int.Parse(hdfProjectId.Value), tkrdpFrom.SelectedDate.Value, tkrdpTo.SelectedDate.Value, int.Parse(hdfCompanyId.Value)); } // Store tables Session.Remove("subcontractorsInformationDummy"); subcontractorsInformation = (ProjectCostingSheetAddTDS.SubcontractorsInformationDataTable)model.Table; Session["subcontractorsInformation"] = subcontractorsInformation; Session["projectCostingSheetAddTDS"] = projectCostingSheetAddTDS; // Validate grid columns int projectId = Int32.Parse(hdfProjectId.Value); ProjectGateway projectGateway = new ProjectGateway(); projectGateway.LoadByProjectId(projectId); if (projectGateway.GetCountryID(projectId) == 1) //Canada { // Subcontractors Grid grdSubcontractors.Columns[8].Visible = true; grdSubcontractors.Columns[9].Visible = true; grdSubcontractors.Columns[10].Visible = false; grdSubcontractors.Columns[11].Visible = false; lblSubcontractorsTotalCosts.Text = "Total Cost (CAD) : "; tbxSubcontractorsTotalCostsCAD.Visible = true; tbxSubcontractorsTotalCostsUSD.Visible = false; } else { // Subcontractors Grid grdSubcontractors.Columns[8].Visible = false; grdSubcontractors.Columns[9].Visible = false; grdSubcontractors.Columns[10].Visible = true; grdSubcontractors.Columns[11].Visible = true; lblSubcontractorsTotalCosts.Text = "Total Cost (USD) : "; tbxSubcontractorsTotalCostsCAD.Visible = false; tbxSubcontractorsTotalCostsUSD.Visible = true; } grdSubcontractors.DataBind(); StepSubcontractorsInformationProcessGrid(); }
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"]; ProjectCostingSheetAddSubcontractorsInformation model = new ProjectCostingSheetAddSubcontractorsInformation(projectCostingSheetAddTDS); model.Delete(costingSheetId, subcontractorId, refId); // Store dataset subcontractorsInformation = (ProjectCostingSheetAddTDS.SubcontractorsInformationDataTable)model.Table; Session["subcontractorsInformation"] = subcontractorsInformation; Session["projectCostingSheetAddTDS"] = projectCostingSheetAddTDS; StepSubcontractorsInformationProcessGrid(); }
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; string comment = ((TextBox)grdSubcontractors.Rows[e.RowIndex].Cells[0].FindControl("tbxCommentEdit")).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 ProjectCostingSheetAddSubcontractorsInformation model = new ProjectCostingSheetAddSubcontractorsInformation(projectCostingSheetAddTDS); model.Update(costingSheetId, subcontractorId, refId, unitOfMeasurement, quantity, costCad, totalCostCad, costUsd, totalCostUsd, false, companyId, comment, startDate, endDate); // Store dataset subcontractorsInformation = (ProjectCostingSheetAddTDS.SubcontractorsInformationDataTable)model.Table; Session["subcontractorsInformation"] = subcontractorsInformation; Session["projectCostingSheetAddTDS"] = projectCostingSheetAddTDS; StepSubcontractorsInformationProcessGrid(); } else { e.Cancel = true; } }
// ///////////////////////////////////////////////////////////////////////////////////////////////////// // // STEP7 - SUBCONTRACTOR INFORMATION // // //////////////////////////////////////////////////////////////////////// // STEP7 - SUBCONTRACTOR INFORMATION - EVENTS // 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 (((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; ProjectCostingSheetAddSubcontractorsInformation model = new ProjectCostingSheetAddSubcontractorsInformation(projectCostingSheetAddTDS); model.Insert(0, subcontractorId, unitOfMeasurement, quantity, costCad, totalCostCad, costUsd, totalCostUsd, comment, false, companyId, startDate, endDate, subcontractor); Session.Remove("subcontractorsInformationDummy"); subcontractorsInformation = (ProjectCostingSheetAddTDS.SubcontractorsInformationDataTable)model.Table; Session["subcontractorsInformation"] = subcontractorsInformation; Session["projectCostingSheetAddTDS"] = projectCostingSheetAddTDS; grdSubcontractors.DataBind(); StepSubcontractorsInformationProcessGrid(); } break; } }