public ProjectCostingSheetInformationTDS.LabourHoursInformationDataTable GetLabourHoursInformation() { labourHoursInformation = (ProjectCostingSheetInformationTDS.LabourHoursInformationDataTable)Session["labourHoursInformationDummy"]; if (labourHoursInformation == null) { labourHoursInformation = (ProjectCostingSheetInformationTDS.LabourHoursInformationDataTable)Session["labourHoursInformation"]; } return labourHoursInformation; }
// //////////////////////////////////////////////////////////////////////// // 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_costing_sheets_summary.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("materialsInformationDummy"); Session.Remove("otherCostsInformationDummy"); Session.Remove("revenueInformationDummy"); Session.Remove("subcontractorsInformationDummy"); Session.Remove("hotelsInformationDummy"); Session.Remove("bondingsInformationDummy"); Session.Remove("insurancesInformationDummy"); Session.Remove("otherCategoryInformationDummy"); // If coming from project_costing_sheets_navigator.aspx or project_costing_sheets_add.aspx if (Request.QueryString["source_page"] == "project_costing_sheets_navigator.aspx" || Request.QueryString["source_page"] == "project_costing_sheets_add.aspx") { // Store Navigator State and Update control StoreNavigatorState(); ViewState["update"] = "no"; // Get Costing sheet ID int companyId = Int32.Parse(hdfCompanyId.Value.Trim()); int costingSheetId = Int32.Parse(hdfCostingSheetId.Value.Trim()); // Get dataset projectTDS = (ProjectTDS)Session["lfsProjectTDS"]; projectCostingSheetInformationTDS = new ProjectCostingSheetInformationTDS(); labourHoursInformation = new ProjectCostingSheetInformationTDS.LabourHoursInformationDataTable(); unitsInformation = new ProjectCostingSheetInformationTDS.UnitsInformationDataTable(); materialsInformation = new ProjectCostingSheetInformationTDS.MaterialsInformationDataTable(); otherCostsInformation = new ProjectCostingSheetInformationTDS.OtherCostsInformationDataTable(); revenueInformation = new ProjectCostingSheetInformationTDS.RevenueInformationDataTable(); subcontractorsInformation = new ProjectCostingSheetInformationTDS.SubcontractorsInformationDataTable(); hotelsInformation = new ProjectCostingSheetInformationTDS.HotelsInformationDataTable(); bondingsInformation = new ProjectCostingSheetInformationTDS.BondingsInformationDataTable(); insurancesInformation = new ProjectCostingSheetInformationTDS.InsurancesInformationDataTable(); otherCategoryInformation = new ProjectCostingSheetInformationTDS.OtherCategoryInformationDataTable(); // Get General Data ProjectCostingSheetInformationBasicInformation projectCostingSheetInformationBasicInformation = new ProjectCostingSheetInformationBasicInformation(projectCostingSheetInformationTDS); projectCostingSheetInformationBasicInformation.LoadByCostingSheetId(costingSheetId, companyId); ProjectCostingSheetInformationLabourHoursInformationGateway projectCostingSheetInformationLabourHoursInformationGateway = new ProjectCostingSheetInformationLabourHoursInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationLabourHoursInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); ProjectCostingSheetInformationUnitsInformationGateway projectCostingSheetInformationUnitsInformationGateway = new ProjectCostingSheetInformationUnitsInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationUnitsInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); ProjectCostingSheetInformationMaterialsInformationGateway projectCostingSheetInformationMaterialsInformationGateway = new ProjectCostingSheetInformationMaterialsInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationMaterialsInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); ProjectCostingSheetInformationOtherCostsInformationGateway projectCostingSheetInformationOtherCostsInformationGateway = new ProjectCostingSheetInformationOtherCostsInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationOtherCostsInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); projectCostingSheetInformationRevenueInformationGateway projectCostingSheetInformationRevenueInformationGateway = new projectCostingSheetInformationRevenueInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationRevenueInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); ProjectCostingSheetInformationSubcontractorsInformationGateway projectCostingSheetInformationSubcontractorsInformationGateway = new ProjectCostingSheetInformationSubcontractorsInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationSubcontractorsInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); ProjectCostingSheetInformationHotelsInformationGateway projectCostingSheetInformationHotelsInformationGateway = new ProjectCostingSheetInformationHotelsInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationHotelsInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); ProjectCostingSheetInformationBondingsInformationGateway projectCostingSheetInformationBondingsInformationGateway = new ProjectCostingSheetInformationBondingsInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationBondingsInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); ProjectCostingSheetInformationInsurancesInformationGateway projectCostingSheetInformationInsurancesInformationGateway = new ProjectCostingSheetInformationInsurancesInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationInsurancesInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); ProjectCostingSheetInformationOtherCategoryInformationGateway projectCostingSheetInformationOtherCategoryInformationGateway = new ProjectCostingSheetInformationOtherCategoryInformationGateway(projectCostingSheetInformationTDS); projectCostingSheetInformationOtherCategoryInformationGateway.LoadByCostingSheetId(costingSheetId, companyId); Session["lfsProjectTDS"] = projectTDS; Session["projectCostingSheetInformationTDS"] = projectCostingSheetInformationTDS; Session["labourHoursInformation"] = projectCostingSheetInformationTDS.LabourHoursInformation; Session["unitsInformation"] = projectCostingSheetInformationTDS.UnitsInformation; Session["materialsInformation"] = projectCostingSheetInformationTDS.MaterialsInformation; Session["otherCostsInformation"] = projectCostingSheetInformationTDS.OtherCostsInformation; Session["revenueInformation"] = projectCostingSheetInformationTDS.RevenueInformation; Session["subcontractorsInformation"] = projectCostingSheetInformationTDS.SubcontractorsInformation; Session["hotelsInformation"] = projectCostingSheetInformationTDS.HotelsInformation; Session["bondingsInformation"] = projectCostingSheetInformationTDS.BondingsInformation; Session["insurancesInformation"] = projectCostingSheetInformationTDS.InsurancesInformation; Session["otherCategoryInformation"] = projectCostingSheetInformationTDS.OtherCategoryInformation; labourHoursInformation = projectCostingSheetInformationTDS.LabourHoursInformation; unitsInformation = projectCostingSheetInformationTDS.UnitsInformation; materialsInformation = projectCostingSheetInformationTDS.MaterialsInformation; otherCostsInformation = projectCostingSheetInformationTDS.OtherCostsInformation; revenueInformation = projectCostingSheetInformationTDS.RevenueInformation; subcontractorsInformation = projectCostingSheetInformationTDS.SubcontractorsInformation; hotelsInformation = projectCostingSheetInformationTDS.HotelsInformation; bondingsInformation = projectCostingSheetInformationTDS.BondingsInformation; insurancesInformation = projectCostingSheetInformationTDS.InsurancesInformation; otherCategoryInformation = projectCostingSheetInformationTDS.OtherCategoryInformation; } // ... project_costing_sheets_add.aspx if (Request.QueryString["source_page"] == "project_costing_sheets_add.aspx") { ViewState["update"] = "yes"; } // ... left menu, project_costing_sheets_edit.aspx, project_costing_sheets_delete.aspx or project_costing_sheets_state.aspx if ((Request.QueryString["source_page"] == "lm") || (Request.QueryString["source_page"] == "project_costing_sheets_edit.aspx") || (Request.QueryString["source_page"] == "project_costing_sheets_delete.aspx") || (Request.QueryString["source_page"] == "project_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.LabourHoursInformationDataTable)Session["labourHoursInformation"]; unitsInformation = (ProjectCostingSheetInformationTDS.UnitsInformationDataTable)Session["unitsInformation"]; materialsInformation = (ProjectCostingSheetInformationTDS.MaterialsInformationDataTable)Session["materialsInformation"]; otherCostsInformation = (ProjectCostingSheetInformationTDS.OtherCostsInformationDataTable)Session["otherCostsInformation"]; revenueInformation = (ProjectCostingSheetInformationTDS.RevenueInformationDataTable)Session["revenueInformation"]; subcontractorsInformation = (ProjectCostingSheetInformationTDS.SubcontractorsInformationDataTable)Session["subcontractorsInformation"]; hotelsInformation = (ProjectCostingSheetInformationTDS.HotelsInformationDataTable)Session["hotelsInformation"]; bondingsInformation = (ProjectCostingSheetInformationTDS.BondingsInformationDataTable)Session["bondingsInformation"]; insurancesInformation = (ProjectCostingSheetInformationTDS.InsurancesInformationDataTable)Session["insurancesInformation"]; otherCategoryInformation = (ProjectCostingSheetInformationTDS.OtherCategoryInformationDataTable)Session["otherCategoryInformation"]; 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, Int32.Parse(hdfCompanyId.Value)); lblTitleClientName.Text = "Client: " + companiesGateway.GetName(currentClientId); LoadBasicData(); } else { // Restore dataset projectTDS = (ProjectTDS)Session["lfsProjectTDS"]; projectCostingSheetInformationTDS = (ProjectCostingSheetInformationTDS)Session["projectCostingSheetInformationTDS"]; labourHoursInformation = (ProjectCostingSheetInformationTDS.LabourHoursInformationDataTable)Session["labourHoursInformation"]; unitsInformation = (ProjectCostingSheetInformationTDS.UnitsInformationDataTable)Session["unitsInformation"]; materialsInformation = (ProjectCostingSheetInformationTDS.MaterialsInformationDataTable)Session["materialsInformation"]; otherCostsInformation = (ProjectCostingSheetInformationTDS.OtherCostsInformationDataTable)Session["otherCostsInformation"]; revenueInformation = (ProjectCostingSheetInformationTDS.RevenueInformationDataTable)Session["revenueInformation"]; subcontractorsInformation = (ProjectCostingSheetInformationTDS.SubcontractorsInformationDataTable)Session["subcontractorsInformation"]; hotelsInformation = (ProjectCostingSheetInformationTDS.HotelsInformationDataTable)Session["hotelsInformation"]; bondingsInformation = (ProjectCostingSheetInformationTDS.BondingsInformationDataTable)Session["bondingsInformation"]; insurancesInformation = (ProjectCostingSheetInformationTDS.InsurancesInformationDataTable)Session["insurancesInformation"]; otherCategoryInformation = (ProjectCostingSheetInformationTDS.OtherCategoryInformationDataTable)Session["otherCategoryInformation"]; } }
protected void LabourHoursInformationEmptyFix(GridView grdView) { if (grdView.Rows.Count == 0) { int companyId = Int32.Parse(hdfCompanyId.Value); ProjectCostingSheetInformationTDS.LabourHoursInformationDataTable dt = new ProjectCostingSheetInformationTDS.LabourHoursInformationDataTable(); dt.AddLabourHoursInformationRow(0, "", 0, 0, 0, "", "", 0, "", 0, 0, 0, 0, 0, 0, 0, 0, 0, false, companyId, false, "", DateTime.Now, DateTime.Now, "", "", 0); Session["labourHoursInformationDummy"] = dt; grdView.DataBind(); } // Normally executes at all postbacks if (grdView.Rows.Count == 1) { ProjectCostingSheetInformationTDS.LabourHoursInformationDataTable dt = (ProjectCostingSheetInformationTDS.LabourHoursInformationDataTable)Session["labourHoursInformationDummy"]; if (dt != null) { // Hide row grdView.Rows[0].Visible = false; grdView.Rows[0].Controls.Clear(); } } }
protected void grdTeamMembers_RowUpdating(object sender, GridViewUpdateEventArgs e) { int projectId = Int32.Parse(hdfProjectId.Value); ProjectGateway projectGateway = new ProjectGateway(); projectGateway.LoadByProjectId(projectId); if (projectGateway.GetCountryID(projectId) == 1) //Canada { Page.Validate("labourHoursCadEdit"); } else { Page.Validate("labourHoursUsdEdit"); } if (Page.IsValid) { Page.Validate("labourHoursEdit"); if (Page.IsValid) { int costingSheetId = (int)e.Keys["CostingSheetID"]; string work_ = (string)e.Keys["Work_"]; int employeeId = (int)e.Keys["EmployeeID"]; int companyId = Int32.Parse(hdfCompanyId.Value); int refId = (int)e.Keys["RefID"]; string name = ((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxTeamMemberEdit")).Text; string unitOfMeasurementLH = ((DropDownList)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("ddlUnitOfMeasurementLHEdit")).SelectedValue; double lHQuantity = double.Parse(((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxLHQtyEdit")).Text.Trim()); string unitOfMeasurementMeals = ((DropDownList)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("ddlUnitsOfMeasurementLHMealsEdit")).SelectedValue; int? mealsQuantity = null; if (((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxMealsQtyEdit")).Text.Trim() != "") mealsQuantity = Int32.Parse(((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxMealsQtyEdit")).Text.Trim()); string unitOfMeasurementMotel = ((DropDownList)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("ddlUnitsOfMeasurementLHMotelEdit")).SelectedValue; int? motelQuantity = null; if (((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxMotelQtyEdit")).Text.Trim() != "") motelQuantity = Int32.Parse(((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxMotelQtyEdit")).Text.Trim()); decimal lhCostCad = 0; decimal? mealsCostCad = null; decimal? motelCostCad = null; decimal totalCostCad = 0; decimal lhCostUsd = 0; decimal? mealsCostUsd = null; decimal? motelCostUsd = null; decimal totalCostUsd = 0; if (projectGateway.GetCountryID(projectId) == 1) //Canada { lhCostCad = Decimal.Parse(((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxLHCostCADEdit")).Text.Trim()); if (((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxMealsCostCADEdit")).Text.Trim() != "") mealsCostCad = Decimal.Parse(((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxMealsCostCADEdit")).Text.Trim()); if (((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxMotelCostCADEdit")).Text.Trim() != "") motelCostCad = Decimal.Parse(((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxMotelCostCADEdit")).Text.Trim()); totalCostCad = (lhCostCad * decimal.Parse(lHQuantity.ToString())); if (mealsCostCad.HasValue && mealsQuantity.HasValue) totalCostCad = totalCostCad + (mealsCostCad.Value * decimal.Parse(mealsQuantity.Value.ToString())); if (motelCostCad.HasValue && motelQuantity.HasValue) totalCostCad = totalCostCad + (motelCostCad.Value * decimal.Parse(motelQuantity.Value.ToString())); totalCostCad = Decimal.Round(totalCostCad, 2); } else { lhCostUsd = Decimal.Parse(((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxLHCostUSDEdit")).Text.Trim()); if (((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxMealsCostUSDEdit")).Text.Trim() != "") mealsCostUsd = Decimal.Parse(((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxMealsCostUSDEdit")).Text.Trim()); if (((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxMotelCostUSDEdit")).Text.Trim() != "") motelCostUsd = Decimal.Parse(((TextBox)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tbxMotelCostUSDEdit")).Text.Trim()); totalCostUsd = (lhCostUsd * decimal.Parse(lHQuantity.ToString())); if (mealsCostUsd.HasValue && mealsQuantity.HasValue) totalCostUsd = totalCostUsd + (mealsCostUsd.Value * decimal.Parse(mealsQuantity.Value.ToString())); if (motelCostUsd.HasValue && motelQuantity.HasValue) totalCostUsd = totalCostUsd + (motelCostUsd.Value * decimal.Parse(motelQuantity.Value.ToString())); totalCostUsd = Decimal.Round(totalCostUsd, 2); } DateTime startDate = ((RadDatePicker)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tkrdpStartDateEdit")).SelectedDate.Value; DateTime endDate = ((RadDatePicker)grdTeamMembers.Rows[e.RowIndex].Cells[0].FindControl("tkrdpEndDateEdit")).SelectedDate.Value; // Update data ProjectCostingSheetInformationLabourHoursInformation model = new ProjectCostingSheetInformationLabourHoursInformation(projectCostingSheetInformationTDS); model.Update(costingSheetId, work_, employeeId, refId, lHQuantity, unitOfMeasurementLH, unitOfMeasurementMeals, mealsQuantity, unitOfMeasurementMotel, motelQuantity, lhCostCad, mealsCostCad, motelCostCad, totalCostCad, lhCostUsd, mealsCostUsd, motelCostUsd, totalCostUsd, false, companyId, name, startDate, endDate); // Store dataset labourHoursInformation = (ProjectCostingSheetInformationTDS.LabourHoursInformationDataTable)model.Table; Session["labourHoursInformation"] = labourHoursInformation; Session["projectCostingSheetInformationTDS"] = projectCostingSheetInformationTDS; StepLabourHoursInformationProcessGrid(); } else { e.Cancel = true; } } else { e.Cancel = true; } }
protected void grdTeamMembers_RowDeleting(object sender, GridViewDeleteEventArgs e) { // Team member Gridview, if the gridview is edition mode if (grdTeamMembers.EditIndex >= 0) { grdTeamMembers.UpdateRow(grdTeamMembers.EditIndex, true); } // Add New Team Member int costingSheetId = (int)e.Keys["CostingSheetID"]; string work_ = (string)e.Keys["Work_"]; int employeeId = (int)e.Keys["EmployeeID"]; int refId = (int)e.Keys["RefID"]; ProjectCostingSheetInformationLabourHoursInformation model = new ProjectCostingSheetInformationLabourHoursInformation(projectCostingSheetInformationTDS); // Delete cost model.Delete(costingSheetId, work_, employeeId, refId); // Store dataset labourHoursInformation = (ProjectCostingSheetInformationTDS.LabourHoursInformationDataTable)model.Table; Session["labourHoursInformation"] = labourHoursInformation; Session["projectCostingSheetInformationTDS"] = projectCostingSheetInformationTDS; StepLabourHoursInformationProcessGrid(); }
protected void grdTeamMembers_RowCommand(object sender, GridViewCommandEventArgs e) { switch (e.CommandName) { case "Add": // Team member Gridview, if the gridview is edition mode if (grdTeamMembers.EditIndex >= 0) { grdTeamMembers.UpdateRow(grdTeamMembers.EditIndex, true); } // Add New Team Member int projectId = Int32.Parse(hdfProjectId.Value); ProjectGateway projectGateway = new ProjectGateway(); projectGateway.LoadByProjectId(projectId); if (projectGateway.GetCountryID(projectId) == 1) //Canada { Page.Validate("labourHoursCadNew"); } else { Page.Validate("labourHoursUsdNew"); } if (Page.IsValid) { Page.Validate("labourHoursNew"); if (Page.IsValid) { int companyId = Int32.Parse(hdfCompanyId.Value); string typeOfWork = ((DropDownList)grdTeamMembers.FooterRow.FindControl("ddlTypeOfWork_New")).SelectedValue; int employeeId = Int32.Parse(((DropDownList)grdTeamMembers.FooterRow.FindControl("ddlTeamMemberNew")).SelectedValue); string name = ((DropDownList)grdTeamMembers.FooterRow.FindControl("ddlTeamMemberNew")).SelectedItem.Text; string unitOfMeasurementLH = ((DropDownList)grdTeamMembers.FooterRow.FindControl("ddlUnitOfMeasurementLHNew")).SelectedValue; double lHQuantity = double.Parse(((TextBox)grdTeamMembers.FooterRow.FindControl("tbxLHQtyNew")).Text.Trim()); string unitOfMeasurementMeals = ((DropDownList)grdTeamMembers.FooterRow.FindControl("ddlUnitsOfMeasurementLHMealsNew")).SelectedValue; int? mealsQuantity = null; if (((TextBox)grdTeamMembers.FooterRow.FindControl("tbxMealsQtyNew")).Text.Trim() != "") mealsQuantity = Int32.Parse(((TextBox)grdTeamMembers.FooterRow.FindControl("tbxMealsQtyNew")).Text.Trim()); string unitOfMeasurementMotel = ((DropDownList)grdTeamMembers.FooterRow.FindControl("ddlUnitsOfMeasurementLHMotelNew")).SelectedValue; int? motelQuantity = null; if (((TextBox)grdTeamMembers.FooterRow.FindControl("tbxMotelQtyNew")).Text.Trim() != "") motelQuantity = Int32.Parse(((TextBox)grdTeamMembers.FooterRow.FindControl("tbxMotelQtyNew")).Text.Trim()); decimal lhCostCad = 0; decimal? mealsCostCad = null; decimal? motelCostCad = null; decimal totalCostCad = 0; decimal lhCostUsd = 0; decimal? mealsCostUsd = null; decimal? motelCostUsd = null; decimal totalCostUsd = 0; if (projectGateway.GetCountryID(projectId) == 1) //Canada { lhCostCad = Decimal.Parse(((TextBox)grdTeamMembers.FooterRow.FindControl("tbxLHCostCADNew")).Text.Trim()); if (((TextBox)grdTeamMembers.FooterRow.FindControl("tbxMealsCostCADNew")).Text.Trim() != "") mealsCostCad = Decimal.Parse(((TextBox)grdTeamMembers.FooterRow.FindControl("tbxMealsCostCADNew")).Text.Trim()); if (((TextBox)grdTeamMembers.FooterRow.FindControl("tbxMotelCostCADNew")).Text.Trim() != "") motelCostCad = Decimal.Parse(((TextBox)grdTeamMembers.FooterRow.FindControl("tbxMotelCostCADNew")).Text.Trim()); totalCostCad = (lhCostCad * decimal.Parse(lHQuantity.ToString())); if (mealsCostCad.HasValue && mealsQuantity.HasValue) totalCostCad = totalCostCad + (mealsCostCad.Value * decimal.Parse(mealsQuantity.Value.ToString())); if (motelCostCad.HasValue && motelQuantity.HasValue) totalCostCad = totalCostCad + (motelCostCad.Value * decimal.Parse(motelQuantity.Value.ToString())); totalCostCad = Decimal.Round(totalCostCad, 2); } else { lhCostUsd = Decimal.Parse(((TextBox)grdTeamMembers.FooterRow.FindControl("tbxLHCostUSDNew")).Text.Trim()); if (((TextBox)grdTeamMembers.FooterRow.FindControl("tbxMealsCostUSDNew")).Text.Trim() != "") mealsCostUsd = Decimal.Parse(((TextBox)grdTeamMembers.FooterRow.FindControl("tbxMealsCostUSDNew")).Text.Trim()); if (((TextBox)grdTeamMembers.FooterRow.FindControl("tbxMotelCostUSDNew")).Text.Trim() != "") motelCostUsd = Decimal.Parse(((TextBox)grdTeamMembers.FooterRow.FindControl("tbxMotelCostUSDNew")).Text.Trim()); totalCostUsd = (lhCostUsd * decimal.Parse(lHQuantity.ToString())); if (mealsCostUsd.HasValue && mealsQuantity.HasValue) totalCostUsd = totalCostUsd + (mealsCostUsd.Value * decimal.Parse(mealsQuantity.Value.ToString())); if (motelCostUsd.HasValue && motelQuantity.HasValue) totalCostUsd = totalCostUsd + (motelCostUsd.Value * decimal.Parse(motelQuantity.Value.ToString())); totalCostUsd = Decimal.Round(totalCostUsd, 2); } DateTime startDate = ((RadDatePicker)grdTeamMembers.FooterRow.FindControl("tkrdpStartDateNew")).SelectedDate.Value; DateTime endDate = ((RadDatePicker)grdTeamMembers.FooterRow.FindControl("tkrdpEndDateNew")).SelectedDate.Value; ProjectCostingSheetInformationLabourHoursInformation model = new ProjectCostingSheetInformationLabourHoursInformation(projectCostingSheetInformationTDS); model.Insert(0, typeOfWork, employeeId, lHQuantity, unitOfMeasurementLH, unitOfMeasurementMeals, mealsQuantity, unitOfMeasurementMotel, motelQuantity, lhCostCad, mealsCostCad, motelCostCad, totalCostCad, lhCostUsd, mealsCostUsd, motelCostUsd, totalCostUsd, false, companyId, name, startDate, endDate); Session.Remove("labourHoursInformationDummy"); labourHoursInformation = (ProjectCostingSheetInformationTDS.LabourHoursInformationDataTable)model.Table; Session["labourHoursInformation"] = labourHoursInformation; Session["projectCostingSheetInformationTDS"] = projectCostingSheetInformationTDS; grdTeamMembers.DataBind(); StepLabourHoursInformationProcessGrid(); } } break; } }