private void UpdateDatabase() { // Get ids & location int projectId = Int32.Parse(hdfCurrentProjectId.Value.Trim()); ProjectGateway projectGateway = new ProjectGateway(); projectGateway.LoadByProjectId(projectId); Int64 countryId = projectGateway.GetCountryID(projectId); Int64? provinceId = null; if (projectGateway.GetProvinceID(projectId).HasValue) provinceId = (Int64)projectGateway.GetProvinceID(projectId); Int64? countyId = null; if (projectGateway.GetCountyID(projectId).HasValue) countyId = (Int64)projectGateway.GetCountyID(projectId); Int64? cityId = null; if (projectGateway.GetCityID(projectId).HasValue) cityId = (Int64)projectGateway.GetCityID(projectId); string workType = hdfWorkType.Value.Trim(); int companyId = Int32.Parse(hdfCompanyId.Value); int workId = Int32.Parse(hdfWorkId.Value); int sectionAssetId = Int32.Parse(hdfAssetId.Value); bool isNewMeasuredFromDsmh = false; FullLengthLiningLateralDetails flLateralDetails = new FullLengthLiningLateralDetails(); flLateralDetails.LoadForEdit(workId, sectionAssetId, companyId, projectId); if (flLateralDetails.Table.Rows.Count == 0) { if (ddlM1DataMeasuredFromMh.SelectedValue == "DSMH") { isNewMeasuredFromDsmh = true; FullLengthLiningLateralDetails fllLateralDetails = new FullLengthLiningLateralDetails(fullLengthLiningTDS); fllLateralDetails.ModifyLateralId(); } } DB.Open(); DB.BeginTransaction(); try { // Save lateral details // Save lateral details bool roboticPrepCompleted = ckbxPrepDataRoboticPrepCompleted.Checked; DateTime? roboticPrepCompletedCompleted = null; if (tkrdpPrepDataRoboticPrepCompletedDate.SelectedDate.HasValue) roboticPrepCompletedCompleted = tkrdpPrepDataRoboticPrepCompletedDate.SelectedDate.Value; FullLengthLiningLateralDetails fullLengthLiningLateralDetails = new FullLengthLiningLateralDetails(fullLengthLiningTDS); fullLengthLiningLateralDetails.Save(workId, projectId, sectionAssetId, countryId, provinceId, countyId, cityId, tbxVideoLength.Text.Trim(), companyId, isNewMeasuredFromDsmh, roboticPrepCompleted, roboticPrepCompletedCompleted); // Save catalyst details string newRunDetails = ""; foreach (ListItem lst in cbxlSectionId.Items) { if (lst.Selected) { newRunDetails = newRunDetails + lst.Value + ">"; } } newRunDetails = newRunDetails.Substring(0, newRunDetails.Length - 1); FullLengthLiningWetOutCatalystsDetails fullLengthLiningWetOutCatalystsDetails = new FullLengthLiningWetOutCatalystsDetails(fullLengthLiningTDS); fullLengthLiningWetOutCatalystsDetails.Save(companyId, newRunDetails, projectId); // Save section details FullLengthLiningSectionDetails fullLengthLiningSectionDetails = new FullLengthLiningSectionDetails(fullLengthLiningTDS); fullLengthLiningSectionDetails.Save(countryId, provinceId, countyId, cityId, projectId, companyId); // Save work details FullLengthLiningWorkDetails fullLengthLiningWorkDetails = new FullLengthLiningWorkDetails(fullLengthLiningTDS); fullLengthLiningWorkDetails.Save(countryId, provinceId, countyId, cityId, projectId, sectionAssetId, companyId, ckbxWetOutDataIncludeWetOutInformation.Checked, ckbxInversionDataIncludeInversionInformation.Checked); // Save material details string newMaterial = ddlM1DataMaterial.SelectedValue; if (ddlM1DataMaterial.SelectedIndex > 0) { LfsAssetSewerLateralGateway lfsAssetSewertLateralGateway = new LfsAssetSewerLateralGateway(null); if (!lfsAssetSewertLateralGateway.IsUsedInMaterials(sectionAssetId, newMaterial, companyId)) { MaterialInformation materialInformation = new MaterialInformation(materialInformationTDS); materialInformation.Save(companyId); } } DB.CommitTransaction(); // Store datasets fullLengthLiningTDS.AcceptChanges(); Session["fullLengthLiningTDS"] = fullLengthLiningTDS; materialInformationTDS.AcceptChanges(); Session["materialInformationTDS"] = materialInformationTDS; } catch (Exception ex) { DB.RollbackTransaction(); string url = string.Format("./../../error_page.aspx?error={0}", ex.Message.Replace('\n', ' ')); Response.Redirect(url); } }
private void UpdateDatabase() { try { TeamProjectTime2Gateway teamProjectTime2Gateway = new TeamProjectTime2Gateway(teamProjectTime2TDSToSave); teamProjectTime2Gateway.Update(projectTime2TDS); teamProjectTime2TDSToSave.AcceptChanges(); teamProjectTime2TDS.AcceptChanges(); projectTime2TDS.AcceptChanges(); Session["teamProjectTime2TDS"] = teamProjectTime2TDS; } catch (Exception ex) { string url = string.Format("./../../error_page.aspx?error={0}", ex.Message.Replace('\n', ' ')); Response.Redirect(url); } DB.Open(); DB.BeginTransaction(); try { if (ddlTypeOfWork.SelectedValue == "MH Rehab") { int companyId = Int32.Parse(hdfCompanyId.Value); // Get ids & location int projectId = Int32.Parse(ddlProject.SelectedValue); ProjectGateway projectGateway = new ProjectGateway(); projectGateway.LoadByProjectId(projectId); Int64 countryId = projectGateway.GetCountryID(projectId); Int64? provinceId = null; if (projectGateway.GetProvinceID(projectId).HasValue) provinceId = (Int64)projectGateway.GetProvinceID(projectId); Int64? countyId = null; if (projectGateway.GetCountyID(projectId).HasValue) countyId = (Int64)projectGateway.GetCountyID(projectId); Int64? cityId = null; if (projectGateway.GetCityID(projectId).HasValue) cityId = (Int64)projectGateway.GetCityID(projectId); manholeRehabilitationTDS = new ManholeRehabilitationTDS(); ManholeRehabilitationWorkDetails manholeRehabilitationWorkDetails = new ManholeRehabilitationWorkDetails(manholeRehabilitationTDS); ManholeRehabilitationWorkDetailsGateway manholeRehabilitationWorkDetailsGateway = new ManholeRehabilitationWorkDetailsGateway(manholeRehabilitationTDS); switch (ddlFunction.SelectedValue) { case "Prep": foreach (GridViewRow row in grdManholesRehabPrep.Rows) { bool selected = ((CheckBox)row.FindControl("cbxSelected")).Checked; DateTime? prepDate = Convert.ToDateTime(((Label)row.FindControl("lblPrepDate")).Text); if (selected) { int assetId = Convert.ToInt32(grdManholesRehabPrep.DataKeys[row.RowIndex].Values["AssetID"].ToString()); int workId = 0; workId = GetWorkId(Int32.Parse(ddlProject.SelectedValue), assetId, "Manhole Rehabilitation", companyId); manholeRehabilitationWorkDetails.LoadByWorkIdAssetId(workId, assetId, Int32.Parse(hdfCompanyId.Value)); if (manholeRehabilitationWorkDetailsGateway.Table.Rows.Count > 0) { int? batchId = manholeRehabilitationWorkDetailsGateway.GetBatchID(workId); manholeRehabilitationWorkDetails.Update(workId, prepDate, manholeRehabilitationWorkDetailsGateway.GetSprayedDate(workId), batchId, manholeRehabilitationWorkDetailsGateway.GetDate(workId).Value, companyId); } else { manholeRehabilitationWorkDetails.Update(workId, prepDate, null, null, DateTime.Now, companyId); } manholeRehabilitationWorkDetails.Save2(countryId, provinceId, countyId, cityId, projectId, assetId, companyId, true); } } break; case "Spray": foreach (GridViewRow row in grdManholesRehabSpray.Rows) { bool selected = ((CheckBox)row.FindControl("cbxSelected")).Checked; DateTime? sprayDate = Convert.ToDateTime(((Label)row.FindControl("lblSprayDate")).Text); if (selected) { int assetId = Convert.ToInt32(grdManholesRehabSpray.DataKeys[row.RowIndex].Values["AssetID"].ToString()); int workId = 0; workId = GetWorkId(Int32.Parse(ddlProject.SelectedValue), assetId, "Manhole Rehabilitation", companyId); manholeRehabilitationWorkDetails.LoadByWorkIdAssetId(workId, assetId, Int32.Parse(hdfCompanyId.Value)); if (manholeRehabilitationWorkDetailsGateway.Table.Rows.Count > 0) { int? batchId = manholeRehabilitationWorkDetailsGateway.GetBatchID(workId); manholeRehabilitationWorkDetails.Update(workId, manholeRehabilitationWorkDetailsGateway.GetPreppedDate(workId), sprayDate, batchId, manholeRehabilitationWorkDetailsGateway.GetDate(workId).Value, companyId); } else { manholeRehabilitationWorkDetails.Update(workId, null, sprayDate, null, DateTime.Now, companyId); } manholeRehabilitationWorkDetails.Save2(countryId, provinceId, countyId, cityId, projectId, assetId, companyId, true); } } break; } DB.CommitTransaction(); // Store datasets manholeRehabilitationTDS.AcceptChanges(); } else { if (ddlTypeOfWork.SelectedValue == "Full Length") { fullLengthLiningTDS = new FullLengthLiningTDS(); AssetSewerSectionGateway aass = new AssetSewerSectionGateway(); FullLengthLiningWorkDetails fullLengthLiningWorkDetails = new FullLengthLiningWorkDetails(fullLengthLiningTDS); FullLengthLiningWorkDetailsGateway fullLengthLiningWorkDetailsGateway = new FullLengthLiningWorkDetailsGateway(fullLengthLiningTDS); int assetId = 0; int workId = 0; // Get ids & location int projectId = Int32.Parse(ddlProject.SelectedValue); ProjectGateway projectGateway = new ProjectGateway(); projectGateway.LoadByProjectId(projectId); Int64 countryId = projectGateway.GetCountryID(projectId); Int64? provinceId = null; if (projectGateway.GetProvinceID(projectId).HasValue) provinceId = (Int64)projectGateway.GetProvinceID(projectId); Int64? countyId = null; if (projectGateway.GetCountyID(projectId).HasValue) countyId = (Int64)projectGateway.GetCountyID(projectId); Int64? cityId = null; if (projectGateway.GetCityID(projectId).HasValue) cityId = (Int64)projectGateway.GetCityID(projectId); int companyId = Int32.Parse(hdfCompanyId.Value); switch (ddlFunction.SelectedValue) { case "Install": foreach (GridViewRow row in grdSectionsInstall.Rows) { bool selected = ((CheckBox)row.FindControl("cbxSelected")).Checked; DateTime? installDate = Convert.ToDateTime(((Label)row.FindControl("lblInstallDate")).Text); if (selected) { if (installDate != tkrdpDate_.SelectedDate.Value) { installDate = tkrdpDate_.SelectedDate.Value; } string sectionId = grdSectionsInstall.DataKeys[row.RowIndex].Values["SectionID"].ToString(); aass.LoadBySectionId(sectionId, companyId); assetId = aass.GetAssetID(sectionId); workId = GetWorkId(Int32.Parse(ddlProject.SelectedValue), assetId, "Full Length Lining", companyId); fullLengthLiningWorkDetails.LoadByWorkIdAssetId(workId, assetId, Int32.Parse(hdfCompanyId.Value)); fullLengthLiningWorkDetails.Update(workId, fullLengthLiningWorkDetailsGateway.GetP1Date(workId), fullLengthLiningWorkDetailsGateway.GetP1Completed(workId), installDate, fullLengthLiningWorkDetailsGateway.GetFinalVideoDate(workId)); fullLengthLiningWorkDetails.Save(countryId, provinceId, countyId, cityId, projectId, assetId, companyId, false, false); } } break; case "Prep & Measure": foreach (GridViewRow row in grdSections.Rows) { bool selected = ((CheckBox)row.FindControl("cbxSelected")).Checked; bool completed = ((CheckBox)row.FindControl("cbxCompleted")).Checked; DateTime? prepDate = Convert.ToDateTime(((Label)row.FindControl("lblPrepDate")).Text); if (selected) { if (completed) { if (prepDate != tkrdpDate_.SelectedDate.Value) { prepDate = tkrdpDate_.SelectedDate.Value; } } else { prepDate = null; } string sectionId = grdSections.DataKeys[row.RowIndex].Values["SectionID"].ToString(); aass.LoadBySectionId(sectionId, companyId); assetId = aass.GetAssetID(sectionId); workId = GetWorkId(Int32.Parse(ddlProject.SelectedValue), assetId, "Full Length Lining", companyId); fullLengthLiningWorkDetails.LoadByWorkIdAssetId(workId, assetId, Int32.Parse(hdfCompanyId.Value)); fullLengthLiningWorkDetails.Update(workId, prepDate, completed, fullLengthLiningWorkDetailsGateway.GetInstallDate(workId), fullLengthLiningWorkDetailsGateway.GetFinalVideoDate(workId)); fullLengthLiningWorkDetails.Save(countryId, provinceId, countyId, cityId, projectId, assetId, companyId, false, false); } } break; case "Reinstate & Post Video": FullLengthLiningLateralDetails fullLengthLiningLateralDetails = new FullLengthLiningLateralDetails(fullLengthLiningTDS); FullLengthLiningLateralDetailsGateway fullLengthLiningLateralDetailsGateway = new FullLengthLiningLateralDetailsGateway(fullLengthLiningTDS); foreach (GridViewRow row in grdSectionsReinstatePostVideo.Rows) { bool selected = ((CheckBox)row.FindControl("cbxSelected")).Checked; bool completed = ((CheckBox)row.FindControl("cbxCompleted")).Checked; DateTime? postVideo = Convert.ToDateTime(((Label)row.FindControl("lblPostVideo")).Text); string sectionId = grdSectionsReinstatePostVideo.DataKeys[row.RowIndex].Values["SectionID"].ToString(); aass.LoadBySectionId(sectionId, companyId); assetId = aass.GetAssetID(sectionId); workId = GetWorkId(Int32.Parse(ddlProject.SelectedValue), assetId, "Full Length Lining", companyId); if (selected) { if (completed) { if (postVideo != tkrdpDate_.SelectedDate.Value) { postVideo = tkrdpDate_.SelectedDate.Value; } } else { postVideo = null; } fullLengthLiningWorkDetails.LoadByWorkIdAssetId(workId, assetId, Int32.Parse(hdfCompanyId.Value)); fullLengthLiningWorkDetails.Update(workId, fullLengthLiningWorkDetailsGateway.GetP1Date(workId), fullLengthLiningWorkDetailsGateway.GetP1Completed(workId), fullLengthLiningWorkDetailsGateway.GetInstallDate(workId), postVideo); fullLengthLiningWorkDetails.Save(countryId, provinceId, countyId, cityId, projectId, assetId, companyId, false, false); } } foreach (GridViewRow row in grdLaterals.Rows) { string sectionId = grdLaterals.DataKeys[row.RowIndex].Values["SectionID"].ToString(); int assetIdLateral = Convert.ToInt32(((Label)row.FindControl("lblAssetIDLateral")).Text); bool selected = ((CheckBox)row.FindControl("cbxSelected")).Checked; DateTime? opened = null; if (((CheckBox)row.FindControl("cbxOpened")).Checked) opened = tkrdpDate_.SelectedDate; DateTime? brushed = null; if (((CheckBox)row.FindControl("cbxBrushed")).Checked) brushed = tkrdpDate_.SelectedDate; if (selected) { aass.LoadBySectionId(sectionId, companyId); assetId = aass.GetAssetID(sectionId); workId = GetWorkId(Int32.Parse(ddlProject.SelectedValue), assetId, "Full Length Lining", companyId); fullLengthLiningLateralDetails.SaveFll(workId, assetIdLateral, companyId, opened, brushed); } } break; } DB.CommitTransaction(); // Store datasets fullLengthLiningTDS.AcceptChanges(); } } } catch (Exception ex) { DB.RollbackTransaction(); string url = string.Format("./../../error_page.aspx?error={0}", ex.Message.Replace('\n', ' ')); Response.Redirect(url); } }