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); } }