/// <summary> /// DeleteDirect /// </summary> /// <param name="workId">workId</param> /// <param name="companyId">companyId</param> public void DeleteDirect(int workId, int companyId) { WorkJunctionLiningSectionGateway workJunctionLiningSectionGateway = new WorkJunctionLiningSectionGateway(); workJunctionLiningSectionGateway.LoadByWorkId(workId, companyId); if (workJunctionLiningSectionGateway.Table.Rows.Count > 0) { WorkJunctionLiningLateralGateway workJunctionLiningLateralGateway = new WorkJunctionLiningLateralGateway(); workJunctionLiningLateralGateway.LoadBySectionWorkId(workId, companyId); // ... Delete Laterals WorkJunctionLiningLateral workJunctionLiningLateral = new WorkJunctionLiningLateral(); foreach (WorkTDS.LFS_WORK_JUNCTIONLINING_LATERALRow row in (WorkTDS.LFS_WORK_JUNCTIONLINING_LATERALDataTable)workJunctionLiningLateralGateway.Table) { workJunctionLiningLateral.DeleteDirect(row.WorkID, row.SectionWorkID, companyId); } // ... Delete WorkJunctionLiningSection workJunctionLiningSectionGateway.Delete(workId, companyId); // ... Delete work Work work = new Work(null); work.DeleteDirect(workId, companyId); } }
/// <summary> /// Save a Previous JL work /// </summary> /// <param name="projectId">projectId</param> /// <param name="section_assetId">section_assetId</param> /// <param name="companyId">companyId</param> private void SavePreviousJLWork(int projectId, int section_assetId, int companyId) { // Load Previous work - Junction Lining section data (last sections work) string workType = "Junction Lining Section"; WorkJunctionLiningSectionGateway workJunctionLiningSectionGateway = new WorkJunctionLiningSectionGateway(); workJunctionLiningSectionGateway.LoadTop1ByProjectIdAssetIdWorkType(projectId, section_assetId, workType, companyId); int workId = workJunctionLiningSectionGateway.GetWorkIdTop1(); int numLats = workJunctionLiningSectionGateway.GetNumLats(workId); int notLinedYet = workJunctionLiningSectionGateway.GetNotLinedYet(workId); Boolean allMeasured = workJunctionLiningSectionGateway.GetAllMeasured(workId); string issueWithLaterals = workJunctionLiningSectionGateway.GetIssueWithLaterals(workId); int notMeasuredYet = workJunctionLiningSectionGateway.GetNotMeasuredYet(workId); int notDeliveredYet = workJunctionLiningSectionGateway.GetNotDeliveredYet(workId); string trafficControl = ""; if (workJunctionLiningSectionGateway.GetTrafficControl(workId) != "") trafficControl = workJunctionLiningSectionGateway.GetTrafficControl(workId); string trafficControlDetails = ""; if (workJunctionLiningSectionGateway.GetTrafficControlDetails(workId) != "") trafficControlDetails = workJunctionLiningSectionGateway.GetTrafficControlDetails(workId); Boolean standardBypass = workJunctionLiningSectionGateway.GetStandardBypass(workId); string standardBypassComments = ""; if (workJunctionLiningSectionGateway.GetStandardBypassComments(workId) != "") standardBypassComments = workJunctionLiningSectionGateway.GetStandardBypassComments(workId); int availableToLine = workJunctionLiningSectionGateway.GetAvailableToLine(workId); // Load Previous work - General work data WorkGateway workGateway = new WorkGateway(); workGateway.LoadByWorkId(workId, companyId); int? libraryCategoriesId = null; if (workGateway.GetLibraryCategoriesId(workId).HasValue) libraryCategoriesId = workGateway.GetLibraryCategoriesId(workId); string comments = workGateway.GetComments(workId); string history = workGateway.GetHistory(workId); // Save new work WorkJunctionLiningSection workJunctionLiningSection = new WorkJunctionLiningSection(null); int newSectionWorkId = workJunctionLiningSection.InsertDirect(projectId, section_assetId, libraryCategoriesId, numLats, notLinedYet, allMeasured, issueWithLaterals, notMeasuredYet, notDeliveredYet, false, companyId, comments, history, trafficControl, trafficControlDetails, standardBypass, standardBypassComments, availableToLine); // Load Previous work - Junction Lining Lateral data WorkJunctionLiningLateralGateway workJunctionLiningLateralGateway = new WorkJunctionLiningLateralGateway(); workJunctionLiningLateralGateway.LoadBySectionWorkId(workId, companyId); foreach (WorkTDS.LFS_WORK_JUNCTIONLINING_LATERALRow lateralRow in (WorkTDS.LFS_WORK_JUNCTIONLINING_LATERALDataTable)workJunctionLiningLateralGateway.Table) { WorkGateway workGatewayForLateral = new WorkGateway(); workGatewayForLateral.LoadByWorkId(lateralRow.WorkID, companyId); int lateral_assetId = workGatewayForLateral.GetAssetId(lateralRow.WorkID); DateTime? pipeLocated = null; if (!lateralRow.IsPipeLocatedNull()) pipeLocated = lateralRow.PipeLocated; DateTime? sevicesLocated = null; if (!lateralRow.IsServicesLocatedNull()) sevicesLocated = lateralRow.ServicesLocated; DateTime? coInstalled = null; if (!lateralRow.IsCoInstalledNull()) coInstalled = lateralRow.CoInstalled; DateTime? backfilledConcrete = null; if (!lateralRow.IsBackfilledConcreteNull()) backfilledConcrete = lateralRow.BackfilledConcrete; DateTime? backfilledSoil = null; if (!lateralRow.IsBackfilledSoilNull()) backfilledSoil = lateralRow.BackfilledSoil; DateTime? grouted = null; if (!lateralRow.IsGroutedNull()) grouted = lateralRow.Grouted; DateTime? cored = null; if (!lateralRow.IsCoredNull()) cored = lateralRow.Cored; DateTime? prepped = null; if (!lateralRow.IsPreppedNull()) prepped = lateralRow.Prepped; DateTime? measured = null; if (!lateralRow.IsMeasuredNull()) measured = lateralRow.Measured; string linerSize = ""; if (!lateralRow.IsLinerSizeNull()) linerSize = lateralRow.LinerSize; DateTime? inProcess = null; if (!lateralRow.IsInProcessNull()) inProcess = lateralRow.InProcess; DateTime? inStock = null; if (!lateralRow.IsInStockNull()) inStock = lateralRow.InStock; DateTime? delivered = null; if (!lateralRow.IsDeliveredNull()) delivered = lateralRow.Delivered; int? buildRebuild = null; if (!lateralRow.IsBuildRebuildNull()) buildRebuild = lateralRow.BuildRebuild; DateTime? preVideo = null; if (!lateralRow.IsPreVideoNull()) preVideo = lateralRow.PreVideo; DateTime? linerInstalled = null; if (!lateralRow.IsLinerInstalledNull()) linerInstalled = lateralRow.LinerInstalled; DateTime? finalVideo = null; if (!lateralRow.IsFinalVideoNull()) finalVideo = lateralRow.FinalVideo; decimal? cost = null; if (!lateralRow.IsCostNull()) cost = lateralRow.Cost; DateTime? videoInspection = null; if (!lateralRow.IsVideoInspectionNull()) videoInspection = lateralRow.VideoInspection; bool coRequired = lateralRow.CoRequired; bool pitRequired = lateralRow.PitRequired; string coPitLocation = ""; if (!lateralRow.IsCoPitLocationNull()) coPitLocation = lateralRow.CoPitLocation; bool postContractDigRequired = lateralRow.PostContractDigRequired; DateTime? coCutDown = null; if (!lateralRow.IsCoCutDownNull()) coCutDown = lateralRow.CoCutDown; DateTime? finalRestoration = null; if (!lateralRow.IsFinalRestorationNull()) finalRestoration = lateralRow.FinalRestoration; string videoLengthToPropertyLine = ""; if (!lateralRow.IsVideoLengthToPropertyLineNull()) videoLengthToPropertyLine = lateralRow.VideoLengthToPropertyLine; bool liningThruCo = lateralRow.LiningThruCo; DateTime? noticeDelivered = null; if (!lateralRow.IsNoticeDeliveredNull()) noticeDelivered = lateralRow.NoticeDelivered; string hamiltonInspectionNumber = ""; if (!lateralRow.IsHamiltonInspectionNumberNull()) hamiltonInspectionNumber = lateralRow.HamiltonInspectionNumber; string flange = ""; if (!lateralRow.IsFlangeNull()) flange = lateralRow.Flange; string gasket = ""; if (!lateralRow.IsGasketNull()) gasket = lateralRow.Gasket; string depthOfLocated = ""; if (!lateralRow.IsDepthOfLocatedNull()) depthOfLocated = lateralRow.DepthOfLocated; bool digRequiredPriorToLining = lateralRow.DigRequiredPriorToLining; DateTime? digRequiredPriorToLiningCompleted = null; if (!lateralRow.IsDigRequiredPriorToLiningCompletedNull()) digRequiredPriorToLiningCompleted = lateralRow.DigRequiredPriorToLiningCompleted; bool digRequiredAfterLining = lateralRow.DigRequiredAfterLining; DateTime? digRequiredAfterLiningCompleted = null; if (!lateralRow.IsDigRequiredAfterLiningCompletedNull()) digRequiredAfterLiningCompleted = lateralRow.DigRequiredAfterLiningCompleted; bool outOfScope = lateralRow.OutOfScope; bool holdClientIssue = lateralRow.HoldClientIssue; DateTime? holdClientIssueResolved = null; if (!lateralRow.IsHoldClientIssueResolvedNull()) holdClientIssueResolved = lateralRow.HoldClientIssueResolved; bool holdLFSIssue = lateralRow.HoldLFSIssue; DateTime? holdLFSIssueResolved = null; if (!lateralRow.IsHoldLFSIssueResolvedNull()) holdLFSIssueResolved = lateralRow.HoldLFSIssueResolved; bool requiresRoboticPrep = lateralRow.LateralRequiresRoboticPrep; DateTime? requiresRoboticPrepCompleted = null; if (!lateralRow.IsLateralRequiresRoboticPrepCompletedNull()) requiresRoboticPrepCompleted = lateralRow.LateralRequiresRoboticPrepCompleted; string linerType = ""; if (!lateralRow.IsLinerTypeNull()) linerType = lateralRow.LinerType; string prepType = ""; if (!lateralRow.IsPrepTypeNull()) prepType = lateralRow.PrepType; bool dyeTestReq = lateralRow.DyeTestReq; DateTime? dyeTestComplete = null; if (!lateralRow.IsDyeTestCompleteNull()) dyeTestComplete = lateralRow.DyeTestComplete; string contractYear = ""; if (!lateralRow.IsContractYearNull()) contractYear = lateralRow.ContractYear; WorkJunctionLiningLateral workJunctionLiningLateral = new WorkJunctionLiningLateral(null); workJunctionLiningLateral.InsertDirect(projectId, lateral_assetId, newSectionWorkId, pipeLocated, sevicesLocated, coInstalled, backfilledConcrete, backfilledSoil, grouted, cored, prepped, measured, linerSize, inProcess, inStock, delivered, buildRebuild, preVideo, linerInstalled, finalVideo, cost, videoInspection, coRequired, pitRequired, coPitLocation, postContractDigRequired, coCutDown, finalRestoration, false, companyId, comments, history, videoLengthToPropertyLine, liningThruCo, noticeDelivered, hamiltonInspectionNumber, flange, gasket, depthOfLocated, digRequiredPriorToLining, digRequiredPriorToLiningCompleted, digRequiredAfterLining, digRequiredAfterLiningCompleted, outOfScope, holdClientIssue, holdClientIssueResolved, holdLFSIssue, holdLFSIssueResolved, requiresRoboticPrep, requiresRoboticPrepCompleted, linerType, prepType, dyeTestReq, dyeTestComplete, contractYear); } // Load Previous work - Comments and History SavePreviousComments(workId, workType, companyId, newSectionWorkId); SavePreviousHistory(workId, workType, companyId, newSectionWorkId); }
/// <summary> /// Save a JL Work /// </summary> /// <param name="originalId">originalId</param> /// <param name="projectId">projectId</param> /// <param name="section_assetId">section_assetId</param> /// <param name="numLats">numLats</param> /// <param name="notLinedYet">notLinedYet</param> /// <param name="allMeasured">allMeasured</param> /// <param name="issueWithLaterals">issueWithLaterals</param> /// <param name="notMeasuredYet">notMeasuredYet</param> /// <param name="notDeliveredYet">notDeliveredYet</param> /// <param name="countryId">countryId</param> /// <param name="provinceId">provinceId</param> /// <param name="countyId">countyId</param> /// <param name="cityId">cityId</param> /// <param name="companyId">companyId</param> private void SaveJLWork(Guid originalId, int section_assetId, int numLats, int notLinedYet, bool allMeasured, string issueWithLaterals, int notMeasuredYet, int notDeliveredYet, int projectId, Int64? countryId, Int64? provinceId, Int64? countyId, Int64? cityId, int companyId) { // Insert Junction Lining Section WorkJunctionLiningSection workJunctionLiningSection = new WorkJunctionLiningSection(null); int sectionWorkId = workJunctionLiningSection.InsertDirect(projectId, section_assetId, null, numLats, notLinedYet, allMeasured, issueWithLaterals, notMeasuredYet, notDeliveredYet, false, companyId, "", "", "", "", false, "", 0); // Insert Junction Lining Laterals SectionTDS sectionTDS = new SectionTDS(); SectionGateway sectionGateway = new SectionGateway(sectionTDS); sectionGateway.LoadById(originalId, companyId); JlinerGateway jlinerGateway = new JlinerGateway(sectionTDS); jlinerGateway.LoadByIdCompanyId(originalId, companyId); foreach (SectionTDS.LFS_JUNCTION_LINER2Row row in (SectionTDS.LFS_JUNCTION_LINER2DataTable)jlinerGateway.Table) { string lateralID = ""; if (!row.IsDetailIDNull()) lateralID = row.DetailID; string address = ""; if (!row.IsAddressNull()) address = row.Address; string distanceFromUSMH = ""; if (!row.IsDistanceFromUSMHNull()) distanceFromUSMH = row.DistanceFromUSMH.ToString(); string distanceFromDSMH = ""; if (!row.IsDistanceFromDSMHNull()) distanceFromDSMH = row.DistanceFromDSMH.ToString(); DateTime? pipeLocated = null; if (!row.IsPipeLocatedNull()) pipeLocated = row.PipeLocated; DateTime? servicesLocated = null; if (!row.IsServicesLocatedNull()) servicesLocated = row.ServicesLocated; DateTime? coInstalled = null; if (!row.IsCoInstalledNull()) coInstalled = row.CoInstalled; DateTime? backfilledConcrete = null; if (!row.IsBackfilledConcreteNull()) backfilledConcrete = row.BackfilledConcrete; DateTime? backfilledSoil = null; if (!row.IsBackfilledSoilNull()) backfilledSoil = row.BackfilledSoil; DateTime? grouted = null; if (!row.IsGroutedNull()) grouted = row.Grouted; DateTime? cored = null; if (!row.IsCoredNull()) cored = row.Cored; DateTime? prepped = null; if (!row.IsPreppedNull()) prepped = row.Prepped; DateTime? measured = null; if (!row.IsMeasuredNull()) measured = row.Measured; string linerSize = ""; if (!row.IsLinerSizeNull()) linerSize = row.LinerSize; DateTime? inProcess = null; if (!row.IsInProcessNull()) inProcess = row.InProcess; DateTime? inStock = null; if (!row.IsInStockNull()) inStock = row.InStock; DateTime? delivered = null; if (!row.IsDeliveredNull()) delivered = row.Delivered; int? buildRebuid = null; if (!row.IsBuildRebuildNull()) buildRebuid = row.BuildRebuild; DateTime? preVideo = null; if (!row.IsPreVideoNull()) preVideo = row.PreVideo; DateTime? linerInstalled = null; if (!row.IsLinerInstalledNull()) linerInstalled = row.LinerInstalled; DateTime? finalVideo = null; if (!row.IsFinalVideoNull()) finalVideo = row.FinalVideo; string map = ""; if (!row.IsMapNull()) map = row.Map; decimal? cost = null; if (!row.IsCostNull()) cost = row.Cost; DateTime? videoInspection = null; if (!row.IsVideoInspectionNull()) videoInspection = row.VideoInspection; bool coRequired = row.CoRequired; bool pitRequired = row.PitRequired; string coPitLocation = ""; if (!row.IsCoPitLocationNull()) coPitLocation = row.CoPitLocation; bool postContractDigRequired = row.PostContractDigRequired; string comments = ""; if (!row.IsCommentsNull()) comments = row.Comments; string history = ""; if (!row.IsHistoryNull()) history = row.History; DateTime? coCutDown = null; if (!row.IsCoCutDownNull()) coCutDown = row.CoCutDown; DateTime? finalRestoration = null; if (!row.IsFinalRestorationNull()) finalRestoration = row.FinalRestoration; string clientLateralId = ""; if (!row.IsClientLateralIDNull()) clientLateralId = row.ClientLateralID; string videoLengthToPropertyLine = ""; if (!row.IsVideoLengthToPropertyLineNull()) videoLengthToPropertyLine = row.VideoLengthToPropertyLine; bool liningThruCo = row.LiningThruCo; DateTime? noticeDelivered = null; if (!row.IsNoticeDeliveredNull()) noticeDelivered = row.NoticeDelivered; string hamiltonInspectionNumber = ""; if (!row.IsHamiltonInspectionNumberNull()) hamiltonInspectionNumber = row.HamiltonInspectionNumber; bool dyeTestReq = row.DyeTestReq; DateTime? dyeTestComplete = null; if (!row.IsDyeTestCompleteNull()) dyeTestComplete = row.DyeTestComplete; // Fields only presents in new Junction lining string flange = ""; string gasket = ""; string connectionType = ""; string depthOfLocated = ""; bool digRequiredPriorToLining = false; DateTime? digRequiredPriorToLiningCompleted = null; bool digRequiredAfterLining = false; DateTime? digRequiredAfterLiningCompleted = null; bool outOfScope = false; bool holdClientIssue = false; DateTime? holdClientIssueResolved = null; bool holdLFSIssue = false; DateTime? holdLFSIssueResolved = null; bool requiresRoboticPrep = false; DateTime? requiresRoboticPrepCompleted = null; ProjectGateway projectGateway = new ProjectGateway(); projectGateway.LoadByProjectId(projectId); int clientId = projectGateway.GetClientID(projectId); // Insert into LFS Asset Lateral LfsAssetSewerLateral lfsAssetSewerLateral = new LfsAssetSewerLateral(null); int lateralAssetId = lfsAssetSewerLateral.InsertDirect(countryId, provinceId, countyId, cityId, section_assetId, address, lateralID, "", "", "", "", "Live", "", distanceFromUSMH, distanceFromDSMH, "", false, companyId, connectionType); // Insert into LFS Asset Lateral Client LfsAssetSewerLateralClient lfsAssetSewerLateralClient = new LfsAssetSewerLateralClient(null); lfsAssetSewerLateralClient.InsertDirect(lateralAssetId, clientId, clientLateralId, false, companyId); // Insert into Work Junction Lining Lateral WorkJunctionLiningLateral workJunctionLiningLateral = new WorkJunctionLiningLateral(null); int workLateral = workJunctionLiningLateral.InsertDirect(projectId, lateralAssetId, sectionWorkId, pipeLocated, servicesLocated, coInstalled, backfilledConcrete, backfilledSoil, grouted, cored, prepped, measured, linerSize, inProcess, inStock, delivered, buildRebuid, preVideo, linerInstalled, finalVideo, cost, videoInspection, coRequired, pitRequired, coPitLocation, postContractDigRequired, coCutDown, finalRestoration, false, companyId, comments, history, videoLengthToPropertyLine, liningThruCo, noticeDelivered, hamiltonInspectionNumber, flange, gasket, depthOfLocated, digRequiredPriorToLining, digRequiredPriorToLiningCompleted, digRequiredAfterLining, digRequiredAfterLiningCompleted, outOfScope, holdClientIssue, holdClientIssueResolved, holdLFSIssue, holdLFSIssueResolved, requiresRoboticPrep, requiresRoboticPrepCompleted, "", "", dyeTestReq, dyeTestComplete, ""); // Insert into Work Comments JlinerCommentGateway jlinerCommentGateway = new JlinerCommentGateway(sectionTDS); jlinerCommentGateway.LoadByIdRefId(originalId, row.RefID, companyId); foreach (SectionTDS.LFS_JUNCTION_LINER2_COMMENTRow rowComment in (SectionTDS.LFS_JUNCTION_LINER2_COMMENTDataTable)jlinerCommentGateway.Table) { int loginId = rowComment.LoginID; DateTime dateTime_ = rowComment.DateTime_; string comment = rowComment.Comment; WorkCommentsGateway workCommentsGateway = new WorkCommentsGateway(); workCommentsGateway.LoadByWorkIdWorkType(workLateral, companyId, "Junction Lining Lateral"); WorkComments workComments = new WorkComments(workCommentsGateway.Data); workComments.Insert(workLateral, 0, "Junction Lining Lateral", "Bulk Upload Comments", loginId, dateTime_, comment, null, false, companyId, false, "Junction Lining"); // Update Comments workCommentsGateway.Update(); } // Insert into Work History JlinerHistoryGateway jlinerHistoryGateway = new JlinerHistoryGateway(sectionTDS); jlinerHistoryGateway.LoadByIdRefId(originalId, row.RefID, companyId); foreach (SectionTDS.LFS_JUNCTION_LINER2_HISTORYRow rowHistory in (SectionTDS.LFS_JUNCTION_LINER2_HISTORYDataTable)jlinerHistoryGateway.Table) { int loginId = rowHistory.LoginID; DateTime dateTime_H = rowHistory.DateTime_; string history_ = rowHistory.History; WorkHistoryGateway workHistoryGateway = new WorkHistoryGateway(); workHistoryGateway.LoadByWorkIdWorkType(workLateral, companyId, "Junction Lining Lateral"); WorkHistory workHistory = new WorkHistory(workHistoryGateway.Data); workHistory.Insert(workLateral, 0, "Junction Lining Lateral", "Bulk Upload History", loginId, dateTime_H, history_, null, false, companyId, false, "Junction Lining"); // Update History workHistoryGateway.Update(); } } }
/// <summary> /// UpdateForReport /// </summary> public void UpdateForReport() { foreach (JltoBuildReportTDS.JLToBuildRow jlToBuildRow in ((JltoBuildReportTDS.JLToBuildDataTable)Table)) { // Load work WorkGateway workGateway = new WorkGateway(); workGateway.LoadByProjectIdAssetIdWorkType(jlToBuildRow.ProjectID, jlToBuildRow.AssetID, "Junction Lining Lateral", jlToBuildRow.COMPANY_ID); int workId = workGateway.GetWorkId(jlToBuildRow.AssetID, "Junction Lining Lateral", jlToBuildRow.ProjectID); // Load Laterals in work WorkJunctionLiningLateralGateway workJunctionLiningLateralGateway = new WorkJunctionLiningLateralGateway(); workJunctionLiningLateralGateway.LoadByWorkId(workId, jlToBuildRow.COMPANY_ID); // Load original data DateTime? originalPipeLocated = workJunctionLiningLateralGateway.GetPipeLocated(workId); int sectionWorkId = workJunctionLiningLateralGateway.GetSectionWorkID(workId); DateTime? originalServicesLocated = workJunctionLiningLateralGateway.GetServicesLocated(workId); DateTime? originalCoInstalled = workJunctionLiningLateralGateway.GetCoInstalled(workId); DateTime? originalBackfilledConcrete = workJunctionLiningLateralGateway.GetBackfilledConcrete(workId); DateTime? originalBackfilledSoil = workJunctionLiningLateralGateway.GetBackfilledSoil(workId); DateTime? originalGrouted = workJunctionLiningLateralGateway.GetGrouted(workId); DateTime? originalCored = workJunctionLiningLateralGateway.GetCored(workId); DateTime? originalPrepped = workJunctionLiningLateralGateway.GetPrepped(workId); DateTime? originalMeasured = workJunctionLiningLateralGateway.GetMeasured(workId); string originalLinerSize = workJunctionLiningLateralGateway.GetLinerSize(workId); DateTime? originalInProcess = workJunctionLiningLateralGateway.GetInProcess(workId); DateTime? originalInStock = workJunctionLiningLateralGateway.GetInStock(workId); DateTime? originalDelivered = workJunctionLiningLateralGateway.GetDelivered(workId); int? originalBuildRebuild = workJunctionLiningLateralGateway.GetBuildRebuild(workId); DateTime? originalPreVideo = workJunctionLiningLateralGateway.GetPreVideo(workId); DateTime? originalLinerInstalled = workJunctionLiningLateralGateway.GetLinerInstalled(workId); DateTime? originalFinalVideo = workJunctionLiningLateralGateway.GetFinalVideo(workId); decimal? originalCost = workJunctionLiningLateralGateway.GetCost(workId); DateTime? originalVideoInspection = workJunctionLiningLateralGateway.GetVideoInspection(workId); bool originalCoRequired = workJunctionLiningLateralGateway.GetCoRequired(workId); bool originalPitRequired = workJunctionLiningLateralGateway.GetPitRequired(workId); string originalCoPitLocation = workJunctionLiningLateralGateway.GetCoPitLocation(workId); bool originalPostContractDigRequired = workJunctionLiningLateralGateway.GetPostContractDigRequired(workId); DateTime? originalCoCutDown = workJunctionLiningLateralGateway.GetCoCutDown(workId); DateTime? originalFinalRestoration = workJunctionLiningLateralGateway.GetFinalRestoration(workId); string originalVideoLengthToPropertyLine = workJunctionLiningLateralGateway.GetVideoLengthToPropertyLine(workId); bool originalLiningThruCo = workJunctionLiningLateralGateway.GetLiningThruCo(workId); DateTime? originalNoticeDelivered = workJunctionLiningLateralGateway.GetNoticeDelivered(workId); string originalHamiltonInspectionNumber = workJunctionLiningLateralGateway.GetHamiltonInspectionNumber(workId); string originalFlange = workJunctionLiningLateralGateway.GetFlange(workId); string originalGasket = workJunctionLiningLateralGateway.GetGasket(workId); string originalDepthOfLocated = workJunctionLiningLateralGateway.GetDepthOfLocated(workId); bool originalDigRequiredPriorToLining = workJunctionLiningLateralGateway.GetDigRequiredPriorToLining(workId); DateTime? originalDigRequiredPriorToLiningCompleted = workJunctionLiningLateralGateway.GetDigRequiredPriorToLiningCompleted(workId); bool originalDigRequiredAfterLining = workJunctionLiningLateralGateway.GetDigRequiredAfterLining(workId); DateTime? originalDigRequiredAfterLiningCompleted = workJunctionLiningLateralGateway.GetDigRequiredAfterLiningCompleted(workId); bool originalOutOfScope = workJunctionLiningLateralGateway.GetOutOfScope(workId); bool originalHoldClientIssue = workJunctionLiningLateralGateway.GetHoldClientIssue(workId); DateTime? originalHoldClientIssueResolved = workJunctionLiningLateralGateway.GetHoldClientIssueResolved(workId); bool originalHoldLFSIssue = workJunctionLiningLateralGateway.GetHoldLFSIssue(workId); DateTime? originalHoldLFSIssueResolved = workJunctionLiningLateralGateway.GetHoldLFSIssueResolved(workId); bool originalRequiresRoboticPrep = workJunctionLiningLateralGateway.GetLateralRequiresRoboticPrep(workId); DateTime? originalRequiresRoboticPrepCompleted = workJunctionLiningLateralGateway.GetLateralRequiresRoboticPrepCompleted(workId); string originalLinerType = workJunctionLiningLateralGateway.GetLinerType(workId); string originalPrepType = workJunctionLiningLateralGateway.GetPrepType(workId); bool originalDyeTestReq = workJunctionLiningLateralGateway.GetDyeTestReq(workId); DateTime? originalDyeTestComplete = workJunctionLiningLateralGateway.GetDyeTestComplete(workId); string originalContractYear = workJunctionLiningLateralGateway.GetContractYear(workId); // New data DateTime? newPipeLocated = originalPipeLocated; DateTime? newServicesLocated = originalServicesLocated; DateTime? newCoInstalled = originalCoInstalled; DateTime? newBackfilledConcrete = originalBackfilledConcrete; DateTime? newBackfilledSoil = originalBackfilledSoil; DateTime? newGrouted = originalGrouted; DateTime? newCored = originalCored; DateTime? newPrepped = originalPrepped; DateTime? newMeasured = originalMeasured; string newLinerSize = originalLinerSize; DateTime? newInProcess = DateTime.Now; DateTime? newInStock = originalInStock; DateTime? newDelivered = originalDelivered; DateTime? newPreVideo = originalPreVideo; DateTime? newLinerInstalled = originalLinerInstalled; DateTime? newFinalVideo = originalFinalVideo; decimal? newCost = originalCost; DateTime? newVideoInspection = originalVideoInspection; bool newCoRequired = originalCoRequired; bool newPitRequired = originalPitRequired; string newCoPitLocation = originalCoPitLocation; bool newPostContractDigRequired = originalPostContractDigRequired; DateTime? newCoCutDown = originalCoCutDown; DateTime? newFinalRestoration = originalFinalRestoration; int? newBuildRebuild = (int)originalBuildRebuild + 1; string newVideoLengthToPropertyLine = originalVideoLengthToPropertyLine; bool newLiningThruCo = originalLiningThruCo; DateTime? newNoticeDelivered = originalNoticeDelivered; string newHamiltonInspectionNumber = originalHamiltonInspectionNumber; string newFlange = originalFlange; string newGasket = originalGasket; string newDepthOfLocated = originalDepthOfLocated; bool newDigRequiredPriorToLining = originalDigRequiredPriorToLining; DateTime? newDigRequiredPriorToLiningCompleted = originalDigRequiredPriorToLiningCompleted; bool newDigRequiredAfterLining = originalDigRequiredAfterLining; DateTime? newDigRequiredAfterLiningCompleted = originalDigRequiredAfterLiningCompleted; bool newOutOfScope = originalOutOfScope; bool newHoldClientIssue = originalHoldClientIssue; DateTime? newHoldClientIssueResolved = originalHoldClientIssueResolved; bool newHoldLFSIssue = originalHoldLFSIssue; DateTime? newHoldLFSIssueResolved = originalHoldLFSIssueResolved; bool newRequiresRoboticPrep = originalRequiresRoboticPrep; DateTime? newRequiresRoboticPrepCompleted = originalRequiresRoboticPrepCompleted; string newLinerType = originalLinerType; string newPrepType = originalPrepType; bool newDyeTestReq = originalDyeTestReq; DateTime? newDyeTestComplete = originalDyeTestComplete; string newContractYear = originalContractYear; // Update Lateral WorkJunctionLiningLateral workJunctionLiningLateral = new WorkJunctionLiningLateral(null); workJunctionLiningLateral.UpdateDirect(workId, sectionWorkId, originalPipeLocated, originalServicesLocated, originalCoInstalled, originalBackfilledConcrete, originalBackfilledSoil, originalGrouted, originalCored, originalPrepped, originalMeasured, originalLinerSize, originalInProcess, originalInStock, originalDelivered, originalBuildRebuild, originalPreVideo, originalLinerInstalled, originalFinalVideo, originalCost, originalVideoInspection, originalCoRequired, originalPitRequired, originalCoPitLocation, originalPostContractDigRequired, originalCoCutDown, originalFinalRestoration, false, jlToBuildRow.COMPANY_ID, originalVideoLengthToPropertyLine, originalLiningThruCo, originalNoticeDelivered, originalHamiltonInspectionNumber, originalFlange, originalGasket, originalDepthOfLocated, originalDigRequiredPriorToLining, originalDigRequiredPriorToLiningCompleted, originalDigRequiredAfterLining, originalDigRequiredAfterLiningCompleted, originalOutOfScope, originalHoldClientIssue, originalHoldClientIssueResolved, originalHoldLFSIssue, originalHoldLFSIssueResolved, originalRequiresRoboticPrep, originalRequiresRoboticPrepCompleted, originalLinerType, originalPrepType, originalDyeTestReq, originalDyeTestComplete, newPipeLocated, newServicesLocated, newCoInstalled, newBackfilledConcrete, newBackfilledSoil, newGrouted, newCored, newPrepped, newMeasured, newLinerSize, newInProcess, newInStock, newDelivered, newBuildRebuild, newPreVideo, newLinerInstalled, newFinalVideo, newCost, newVideoInspection, newCoRequired, newPitRequired, newCoPitLocation, newPostContractDigRequired, newCoCutDown, newFinalRestoration, jlToBuildRow.COMPANY_ID, newVideoLengthToPropertyLine, newLiningThruCo, newNoticeDelivered, newHamiltonInspectionNumber, newFlange, newGasket, newDepthOfLocated, newDigRequiredPriorToLining, newDigRequiredPriorToLiningCompleted, newDigRequiredAfterLining, newDigRequiredAfterLiningCompleted, newOutOfScope, newHoldClientIssue, newHoldClientIssueResolved, newHoldLFSIssue, newHoldLFSIssueResolved, newRequiresRoboticPrep, newRequiresRoboticPrepCompleted, newLinerType, newPrepType, newDyeTestReq, newDyeTestComplete, originalContractYear, newContractYear); } }
/// <summary> /// Save all sections & works to database (direct) /// </summary> /// <param name="workId">workId</param> /// <param name="projectId">projectId</param> /// <param name="sectionAssetId">sectionAssetId</param> /// <param name="countryId">countryId</param> /// <param name="provinceId">provinceId</param> /// <param name="countyId">countyId</param> /// <param name="cityId">cityId</param> /// <param name="videoLength">videoLength</param> /// <param name="companyId">companyId</param> /// <param name="isNewMeasuredFromDsmh">isNewMeasuredFromDsmh</param> public void Save(int workId, int projectId, int sectionAssetId, Int64 countryId, Int64? provinceId, Int64? countyId, Int64? cityId, string videoLength, int companyId, bool isNewMeasuredFromDsmh, bool prepDataRoboticPrep, DateTime? prepDataRoboticPrepCompleted) { FullLengthLiningTDS fullLengthLiningChanges = (FullLengthLiningTDS)Data.GetChanges(); if (fullLengthLiningChanges.LateralDetails.Rows.Count > 0) { FullLengthLiningLateralDetailsGateway fullLengthLiningLateralDetailsGateway = new FullLengthLiningLateralDetailsGateway(fullLengthLiningChanges); foreach (FullLengthLiningTDS.LateralDetailsRow row in (FullLengthLiningTDS.LateralDetailsDataTable)fullLengthLiningChanges.LateralDetails) { // Process modified rows if (row.ToProcess) { // Insert new laterals if ((!row.Deleted) && (row.InProject) && (!row.InProjectDatabase)) { // Insert asset int lateral_assetId = SaveLateral(row, projectId, sectionAssetId, countryId, provinceId, countyId, cityId, companyId, isNewMeasuredFromDsmh); int lateral = row.Lateral; // Insert work string videoDistance = fullLengthLiningLateralDetailsGateway.GetVideoDistance(lateral); string clockPosition = fullLengthLiningLateralDetailsGateway.GetClockPosition(lateral); string distanceToCentre = fullLengthLiningLateralDetailsGateway.GetDistanceToCentre(lateral); string timeOpened = fullLengthLiningLateralDetailsGateway.GetTimeOpened(lateral); string reverseSetup = fullLengthLiningLateralDetailsGateway.GetReverseSetup(lateral); DateTime? reinstate = fullLengthLiningLateralDetailsGateway.GetReinstate(lateral); string comments = fullLengthLiningLateralDetailsGateway.GetComments(lateral); string clientInspectionNo = fullLengthLiningLateralDetailsGateway.GetClientInspectionNo(lateral); DateTime? v1Inspection = null; bool requiresRoboticPrep = fullLengthLiningLateralDetailsGateway.GetRequiresRoboticPrep(lateral); DateTime? requiresRoboticPrepDate = null; bool holdClientIssue = fullLengthLiningLateralDetailsGateway.GetHoldClientIssue(lateral); bool holdLFSIssue = fullLengthLiningLateralDetailsGateway.GetHoldLFSIssue(lateral); bool lineLateral = fullLengthLiningLateralDetailsGateway.GetLineLateral(lateral); string flange = fullLengthLiningLateralDetailsGateway.GetFlange(lateral); bool dyeTestReq = fullLengthLiningLateralDetailsGateway.GetDyeTestReq(lateral); DateTime? dyeTestComplete = null; if (fullLengthLiningLateralDetailsGateway.GetDyeTestComplete(lateral).HasValue) dyeTestComplete = fullLengthLiningLateralDetailsGateway.GetDyeTestComplete(lateral); string contractYear = fullLengthLiningLateralDetailsGateway.GetContractYear(lateral); WorkFullLengthLiningM1LateralGateway workFullLengthLiningM1LateralGateay = new WorkFullLengthLiningM1LateralGateway(); workFullLengthLiningM1LateralGateay.LoadAllByWorkIdLateral(workId, lateral_assetId, companyId); if (workFullLengthLiningM1LateralGateay.Table.Rows.Count == 0) { InsertFLLLateral(workId, lateral_assetId, videoDistance, clockPosition, distanceToCentre, timeOpened, reverseSetup, reinstate, comments, row.Deleted, companyId, clientInspectionNo, v1Inspection, requiresRoboticPrep, requiresRoboticPrepDate, holdClientIssue, holdLFSIssue, lineLateral, dyeTestReq, dyeTestComplete, contractYear); } // ... ... If lateral will be in Junction Lining if ((row.LineLateral) && (!row.InJlDatabase)) { if (((!prepDataRoboticPrep) && (!prepDataRoboticPrepCompleted.HasValue)) || ((prepDataRoboticPrep) && (prepDataRoboticPrepCompleted.HasValue))) { // ... ... Load work id int sectionWorkId = 0; WorkJunctionLiningSection workJunctionLiningSection = new WorkJunctionLiningSection(null); sectionWorkId = workJunctionLiningSection.InsertDirect(projectId, sectionAssetId, null, 0, 0, false, "No", 0, 0, false, companyId, "", "", "", "", false, "", 0); WorkJunctionLiningLateralGateway workJunctionLiningLateralGateway = new WorkJunctionLiningLateralGateway(); WorkJunctionLiningLateral workJunctionLiningLateral = new WorkJunctionLiningLateral(workJunctionLiningLateralGateway.Data); workJunctionLiningLateral.InsertDirect(projectId, lateral_assetId, sectionWorkId, null, null, null, null, null, null, null, null, null, "", null, null, null, 0, null, null, null, 0, null, true, false, "", false, null, null, false, companyId, "", "", "", false, null, "", flange, "", "", false, null, false, null, false, holdClientIssue, null, holdLFSIssue, null, requiresRoboticPrep, requiresRoboticPrepDate, "", "", dyeTestReq, dyeTestComplete, contractYear); } } //... Insert material for m1 lateral string material = fullLengthLiningLateralDetailsGateway.GetMaterialType(lateral); if (material != "") { InsertMaterial(lateral_assetId, material, companyId); } //... Insert client lateral id string clientLateralId = fullLengthLiningLateralDetailsGateway.GetClientLateralId(lateral); if (clientLateralId.Trim() != "") { ProjectGateway projectGateway = new ProjectGateway(); projectGateway.LoadByProjectId(projectId); int clientId = projectGateway.GetClientID(projectId); LfsAssetSewerLateralClient lfsAssetSewerLateralClient = new LfsAssetSewerLateralClient(null); lfsAssetSewerLateralClient.InsertDirect(lateral_assetId, clientId, clientLateralId, false, companyId); } // Change row process state NotProcess(lateral); } // Update laterals if ((!row.Deleted) && (row.InProject) && (row.InProjectDatabase)) { int lateral = row.Lateral; // original values string originalVideoDistance = fullLengthLiningLateralDetailsGateway.GetVideoDistanceOriginal(lateral); string originalClockPosition = fullLengthLiningLateralDetailsGateway.GetClockPositionOriginal(lateral); string originalDistanceToCentre = fullLengthLiningLateralDetailsGateway.GetDistanceToCentreOriginal(lateral); string originalTimeOpened = fullLengthLiningLateralDetailsGateway.GetTimeOpenedOriginal(lateral); string originalReverseSetup = fullLengthLiningLateralDetailsGateway.GetReverseSetupOriginal(lateral); DateTime? originalReinstate = fullLengthLiningLateralDetailsGateway.GetReinstateOriginal(lateral); string originalComments = fullLengthLiningLateralDetailsGateway.GetCommentsOriginal(lateral); string originalClientFullLateralId = fullLengthLiningLateralDetailsGateway.GetClientLateralIdOriginal(lateral); string originalClientLateralId = ""; if (originalClientFullLateralId != "") originalClientLateralId = originalClientFullLateralId; string originalClientInspectionNo = fullLengthLiningLateralDetailsGateway.GetClientInspectionNoOriginal(lateral); DateTime? originalV1Inspection = fullLengthLiningLateralDetailsGateway.GetV1InspectionOriginal(lateral); bool originalRequiresRoboticPrep = fullLengthLiningLateralDetailsGateway.GetRequiresRoboticPrepOriginal(lateral); DateTime? originalRequiresRoboticPrepDate = fullLengthLiningLateralDetailsGateway.GetRequiresRoboticPrepDateOriginal(lateral); bool originalHoldClientIssue = fullLengthLiningLateralDetailsGateway.GetHoldClientIssueOriginal(lateral); bool originalHoldLFSIssue = fullLengthLiningLateralDetailsGateway.GetHoldLFSIssueOriginal(lateral); bool originalLineLateral = fullLengthLiningLateralDetailsGateway.GetLineLateralOriginal(lateral); bool originalDyeTestReq = fullLengthLiningLateralDetailsGateway.GetDyeTestReqOriginal(lateral); DateTime? originalDyeTestComplete = null; if (fullLengthLiningLateralDetailsGateway.GetDyeTestCompleteOriginal(lateral).HasValue) originalDyeTestComplete = fullLengthLiningLateralDetailsGateway.GetDyeTestCompleteOriginal(lateral); string originalContractYear = fullLengthLiningLateralDetailsGateway.GetContractYearOriginal(lateral); // new values string newVideoDistance = fullLengthLiningLateralDetailsGateway.GetVideoDistance(lateral); string newClockPosition = fullLengthLiningLateralDetailsGateway.GetClockPosition(lateral); string newDistanceToCentre = fullLengthLiningLateralDetailsGateway.GetDistanceToCentre(lateral); string newTimeOpened = fullLengthLiningLateralDetailsGateway.GetTimeOpened(lateral); string newReverseSetup = fullLengthLiningLateralDetailsGateway.GetReverseSetup(lateral); DateTime? newReinstate = fullLengthLiningLateralDetailsGateway.GetReinstate(lateral); string newComments = fullLengthLiningLateralDetailsGateway.GetComments(lateral); string newClientFullLateralId = fullLengthLiningLateralDetailsGateway.GetClientLateralId(lateral); string newClientLateralId = ""; if (newClientFullLateralId != "") newClientLateralId = newClientFullLateralId; string newClientInspectionNo = fullLengthLiningLateralDetailsGateway.GetClientInspectionNo(lateral); bool newRequiresRoboticPrep = fullLengthLiningLateralDetailsGateway.GetRequiresRoboticPrep(lateral); DateTime? newRequiresRoboticPrepDate = fullLengthLiningLateralDetailsGateway.GetRequiresRoboticPrepDate(lateral); bool newHoldClientIssue = fullLengthLiningLateralDetailsGateway.GetHoldClientIssue(lateral); bool newHoldLFSIssue = fullLengthLiningLateralDetailsGateway.GetHoldLFSIssue(lateral); bool newLineLateral = fullLengthLiningLateralDetailsGateway.GetLineLateral(lateral); string newFlange = fullLengthLiningLateralDetailsGateway.GetFlange(lateral); bool newDyeTestReq = fullLengthLiningLateralDetailsGateway.GetDyeTestReq(lateral); DateTime? newDyeTestComplete = null; if (fullLengthLiningLateralDetailsGateway.GetDyeTestComplete(lateral).HasValue) newDyeTestComplete = fullLengthLiningLateralDetailsGateway.GetDyeTestComplete(lateral); string newContractYear = fullLengthLiningLateralDetailsGateway.GetContractYear(lateral); // ... Update fll laterals int lateral_assetId = SaveLateral(row, projectId, sectionAssetId, countryId, provinceId, countyId, cityId, companyId, isNewMeasuredFromDsmh); UpdateLateral(row, projectId, sectionAssetId, countryId, provinceId, countyId, cityId, videoLength, companyId); UpdateFLLLateral(workId, lateral_assetId, originalVideoDistance, originalClockPosition, originalDistanceToCentre, originalTimeOpened, originalReverseSetup, originalReinstate, originalComments, false, companyId, originalClientInspectionNo, originalV1Inspection, originalRequiresRoboticPrep, originalRequiresRoboticPrepDate, originalHoldClientIssue, originalHoldLFSIssue, originalLineLateral, originalDyeTestReq, originalDyeTestComplete, originalContractYear, workId, lateral_assetId, newVideoDistance, newClockPosition, newDistanceToCentre, newTimeOpened, newReverseSetup, newReinstate, newComments, false, companyId, newClientInspectionNo, originalV1Inspection, newRequiresRoboticPrep, newRequiresRoboticPrepDate, newHoldClientIssue, newHoldLFSIssue, newLineLateral, newDyeTestReq, newDyeTestComplete, newContractYear); // ... Update if lateral is in Junction Lining if (row.InJlDatabase) { if (originalLineLateral == newLineLateral) { // ... ... Update jl lateral (clientInspectionNo, v1Inspection, requiredRoboticPrep, requiredRoboticPrepDate, holdClientIssue, holdLFSIssue, flange) UpdateJLLaterals(projectId, lateral_assetId, companyId, newClientInspectionNo, newRequiresRoboticPrep, newRequiresRoboticPrepDate, newHoldClientIssue, newHoldLFSIssue, newFlange, newDyeTestReq, newDyeTestComplete, newContractYear); } else { int sectionWorkId = 0; WorkJunctionLiningSection workJunctionLiningSection = new WorkJunctionLiningSection(null); sectionWorkId = workJunctionLiningSection.InsertDirect(projectId, sectionAssetId, null, 0, 0, false, "No", 0, 0, false, companyId, "", "", "", "", false, "", 0); // Delete empty lateral form jl. DeleteJLLaterals(projectId, lateral_assetId, companyId, sectionWorkId); } } else { // ... ... Insert if should be in junction Lining if (row.LineLateral) { if (((!prepDataRoboticPrep) && (!prepDataRoboticPrepCompleted.HasValue)) || ((prepDataRoboticPrep) && (prepDataRoboticPrepCompleted.HasValue))) { int sectionWorkId = 0; // Insert to jl laterals WorkJunctionLiningSection workJunctionLiningSection = new WorkJunctionLiningSection(null); sectionWorkId = workJunctionLiningSection.InsertDirect(projectId, sectionAssetId, null, 0, 0, false, "No", 0, 0, false, companyId, "", "", "", "", false, "", 0); WorkJunctionLiningLateralGateway workJunctionLiningLateralGateway = new WorkJunctionLiningLateralGateway(); WorkJunctionLiningLateral workJunctionLiningLateral = new WorkJunctionLiningLateral(workJunctionLiningLateralGateway.Data); workJunctionLiningLateral.InsertDirect(projectId, lateral_assetId, sectionWorkId, null, null, null, null, null, null, null, null, null, "", null, null, null, 0, null, null, null, 0, null, false, false, "", false, null, null, false, companyId, "", "", "", false, null, newClientInspectionNo, newFlange, "", "", false, null, false, null, false, newHoldClientIssue, null, newHoldLFSIssue, null, newRequiresRoboticPrep, newRequiresRoboticPrepDate, "", "", newDyeTestReq, newDyeTestComplete, newContractYear); } } } //... Insert material for m1 lateral string material = fullLengthLiningLateralDetailsGateway.GetMaterialType(lateral); if (material != "") { InsertMaterial(lateral_assetId, material, companyId); } ProjectGateway projectGateway = new ProjectGateway(); projectGateway.LoadByProjectId(projectId); int clientId = projectGateway.GetClientID(projectId); LfsAssetSewerLateralClientGateway lfsAssetSewerLateralClientGateway = new LfsAssetSewerLateralClientGateway(); lfsAssetSewerLateralClientGateway.LoadAllByAssetIdClientId(lateral_assetId, clientId, companyId); if (lfsAssetSewerLateralClientGateway.Table.Rows.Count == 0) { LfsAssetSewerLateralClient lfsAssetSewerLateralClient = new LfsAssetSewerLateralClient(null); lfsAssetSewerLateralClient.InsertDirect(lateral_assetId, clientId, originalClientLateralId, false, companyId); } else { LfsAssetSewerLateralClient lfsAssetSewerLateralClient = new LfsAssetSewerLateralClient(null); string originalFullClientLateralId = lfsAssetSewerLateralClientGateway.GetClientLateralId(lateral_assetId, clientId); lfsAssetSewerLateralClient.UpdateDirect(lateral_assetId, clientId, originalClientLateralId, false, companyId, lateral_assetId, clientId, newClientLateralId, false, companyId); } // Change row process state NotProcess(lateral); } // Deleted laterals or exclude them from fulllength lining work if (((row.Deleted) && (row.InProject) && (row.InProjectDatabase)) || ((!row.Deleted) && (!row.InProject) && (row.InProjectDatabase))) { DeleteFLLLateral(workId, row.Lateral, companyId, projectId); // Change row process state NotProcess(row.Lateral); } } } } }
/// <summary> /// DeleteJLLaterals /// </summary> /// <param name="currentProjectId">currentProjectId</param> /// <param name="lateral_assetId">lateral_assetId</param> /// <param name="companyId">companyId</param> /// <param name="sectionWorkId">sectionWorkId</param> private void DeleteJLLaterals(int currentProjectId, int lateral_assetId, int companyId, int sectionWorkId) { // Load work id WorkGateway workGateway = new WorkGateway(); workGateway.LoadByProjectIdAssetIdWorkType(currentProjectId, lateral_assetId, "Junction Lining Lateral", companyId); if (workGateway.Table.Rows.Count > 0) { int workId = workGateway.GetWorkId(lateral_assetId, "Junction Lining Lateral", currentProjectId); if (workId > 0) { // Delete work WorkJunctionLiningLateral workJunctionLiningLateral = new WorkJunctionLiningLateral(null); workJunctionLiningLateral.DeleteDirect(workId, sectionWorkId, companyId); } } }
/// <summary> /// UpdateJLLaterals /// </summary> /// <param name="currentProjectId">currentProjectId</param> /// <param name="lateral_assetId">lateral_assetId</param> /// <param name="companyId">companyId</param> /// <param name="clientInspectionNo">clientInspectionNo</param> /// <param name="requiresRoboticPrep">requiresRoboticPrep</param> /// <param name="requiresRoboticPrepDate">requiresRoboticPrepDate</param> /// <param name="holdClientIssue">holdClientIssue</param> /// <param name="holdLFSIssue">holdLFSIssue</param> /// <param name="flange">flange</param> /// <param name="dyeTestReq">dyeTestReq</param> /// <param name="dyeTestComplete">dyeTestComplete</param> private void UpdateJLLaterals(int currentProjectId, int lateral_assetId, int companyId, string clientInspectionNo, bool requiresRoboticPrep, DateTime? requiresRoboticPrepDate, bool holdClientIssue, bool holdLFSIssue, string flange, bool dyeTestReq, DateTime? dyeTestComplete, string contractYear) { // Load work id WorkGateway workGateway = new WorkGateway(); workGateway.LoadByProjectIdAssetIdWorkType(currentProjectId, lateral_assetId, "Junction Lining Lateral", companyId); if (workGateway.Table.Rows.Count > 0) { int workId = workGateway.GetWorkId(lateral_assetId, "Junction Lining Lateral", currentProjectId); if (workId > 0) { WorkJunctionLiningLateralGateway workJunctionLiningLateralGateway = new WorkJunctionLiningLateralGateway(); workJunctionLiningLateralGateway.LoadByWorkId(workId, companyId); // Load original data int originalSectionWorkId = workJunctionLiningLateralGateway.GetSectionWorkID(workId); DateTime? originalPipeLocated = workJunctionLiningLateralGateway.GetPipeLocated(workId); DateTime? originalServicesLocated = workJunctionLiningLateralGateway.GetServicesLocated(workId); DateTime? originalCoInstalled = workJunctionLiningLateralGateway.GetCoInstalled(workId); DateTime? originalBackfilledConcrete = workJunctionLiningLateralGateway.GetBackfilledConcrete(workId); DateTime? originalBackfilledSoil = workJunctionLiningLateralGateway.GetBackfilledSoil(workId); DateTime? originalGrouted = workJunctionLiningLateralGateway.GetGrouted(workId); DateTime? originalCored = workJunctionLiningLateralGateway.GetCored(workId); DateTime? originalPrepped = workJunctionLiningLateralGateway.GetPrepped(workId); DateTime? originalMeasured = workJunctionLiningLateralGateway.GetMeasured(workId); string originalLinerSize = workJunctionLiningLateralGateway.GetLinerSize(workId); DateTime? originalInProcess = workJunctionLiningLateralGateway.GetInProcess(workId); DateTime? originalInStock = workJunctionLiningLateralGateway.GetInStock(workId); DateTime? originalDelivered = workJunctionLiningLateralGateway.GetDelivered(workId); int? originalBuildRebuild = workJunctionLiningLateralGateway.GetBuildRebuild(workId); DateTime? originalPreVideo = workJunctionLiningLateralGateway.GetPreVideo(workId); DateTime? originalLinerInstalled = workJunctionLiningLateralGateway.GetLinerInstalled(workId); DateTime? originalFinalVideo = workJunctionLiningLateralGateway.GetFinalVideo(workId); decimal? originalCost = workJunctionLiningLateralGateway.GetCost(workId); DateTime? originalVideoInspection = workJunctionLiningLateralGateway.GetVideoInspection(workId); bool originalCoRequired = workJunctionLiningLateralGateway.GetCoRequired(workId); bool originalPitRequired = workJunctionLiningLateralGateway.GetPitRequired(workId); string originalCoPitLocation = workJunctionLiningLateralGateway.GetCoPitLocation(workId); bool originalPostContractDigRequired = workJunctionLiningLateralGateway.GetPostContractDigRequired(workId); DateTime? originalCoCutDown = workJunctionLiningLateralGateway.GetCoCutDown(workId); DateTime? originalFinalRestoration = workJunctionLiningLateralGateway.GetFinalRestoration(workId); string originalVideoLengthToPropertyLine = workJunctionLiningLateralGateway.GetVideoLengthToPropertyLine(workId); bool originalLiningThruCo = workJunctionLiningLateralGateway.GetLiningThruCo(workId); DateTime? originalNoticeDelivered = workJunctionLiningLateralGateway.GetNoticeDelivered(workId); string originalHamiltonInspectionNumber = workJunctionLiningLateralGateway.GetHamiltonInspectionNumber(workId); string originalFlange = workJunctionLiningLateralGateway.GetFlange(workId); string originalGasket = workJunctionLiningLateralGateway.GetGasket(workId); string originalDepthOfLocated = workJunctionLiningLateralGateway.GetDepthOfLocated(workId); bool originalDigRequiredPriorToLining = workJunctionLiningLateralGateway.GetDigRequiredPriorToLining(workId); DateTime? originalDigRequiredPriorToLiningCompleted = workJunctionLiningLateralGateway.GetDigRequiredPriorToLiningCompleted(workId); bool originalDigRequiredAfterLining = workJunctionLiningLateralGateway.GetDigRequiredAfterLining(workId); DateTime? originalDigRequiredAfterLiningCompleted = workJunctionLiningLateralGateway.GetDigRequiredAfterLiningCompleted(workId); bool originalOutOfScope = workJunctionLiningLateralGateway.GetOutOfScope(workId); bool originalHoldClientIssue = workJunctionLiningLateralGateway.GetHoldClientIssue(workId); DateTime? originalHoldClientIssueResolved = workJunctionLiningLateralGateway.GetHoldClientIssueResolved(workId); bool originalHoldLFSIssue = workJunctionLiningLateralGateway.GetHoldLFSIssue(workId); DateTime? originalHoldLFSIssueResolved = workJunctionLiningLateralGateway.GetHoldLFSIssueResolved(workId); bool originalRequiresRoboticPrep = workJunctionLiningLateralGateway.GetLateralRequiresRoboticPrep(workId); DateTime? originalRequiresRoboticPrepCompleted = workJunctionLiningLateralGateway.GetLateralRequiresRoboticPrepCompleted(workId); string originalLinerType = workJunctionLiningLateralGateway.GetLinerType(workId); string originalPrepType = workJunctionLiningLateralGateway.GetPrepType(workId); bool originalDyeTestReq = workJunctionLiningLateralGateway.GetDyeTestReq(workId); DateTime? originalDyeTestComplete = null; if (workJunctionLiningLateralGateway.GetDyeTestComplete(workId).HasValue) originalDyeTestComplete = workJunctionLiningLateralGateway.GetDyeTestComplete(workId); string originalContractYear = workJunctionLiningLateralGateway.GetContractYear(workId); // New data string newClientInspectionNo = clientInspectionNo; bool newRequiresRoboticPrep = requiresRoboticPrep; DateTime? newRequiresRoboticPrepCompleted = null; if (requiresRoboticPrepDate.HasValue) newRequiresRoboticPrepCompleted = requiresRoboticPrepDate; bool newHoldClientIssue = holdClientIssue; bool newHoldLFSIssue = holdLFSIssue; bool newDyeTetRepair = dyeTestReq; DateTime? newDyeTestComplete = null; if (dyeTestComplete.HasValue) newDyeTestComplete = dyeTestComplete; string newContractYear = contractYear; // Update work WorkJunctionLiningLateral workJunctionLiningLateral = new WorkJunctionLiningLateral(null); workJunctionLiningLateral.UpdateDirect(workId, originalSectionWorkId, originalPipeLocated, originalServicesLocated, originalCoInstalled, originalBackfilledConcrete, originalBackfilledSoil, originalGrouted, originalCored, originalPrepped, originalMeasured, originalLinerSize, originalInProcess, originalInStock, originalDelivered, originalBuildRebuild, originalPreVideo, originalLinerInstalled, originalFinalVideo, originalCost, originalVideoInspection, originalCoRequired, originalPitRequired, originalCoPitLocation, originalPostContractDigRequired, originalCoCutDown, originalFinalRestoration, false, companyId, originalVideoLengthToPropertyLine, originalLiningThruCo, originalNoticeDelivered, originalHamiltonInspectionNumber, originalFlange, originalGasket, originalDepthOfLocated, originalDigRequiredPriorToLining, originalDigRequiredPriorToLiningCompleted, originalDigRequiredAfterLining, originalDigRequiredAfterLiningCompleted, originalOutOfScope, originalHoldClientIssue, originalHoldClientIssueResolved, originalHoldLFSIssue, originalHoldLFSIssueResolved, originalRequiresRoboticPrep, originalRequiresRoboticPrepCompleted, originalLinerType, originalPrepType, originalDyeTestReq, originalDyeTestComplete, originalPipeLocated, originalServicesLocated, originalCoInstalled, originalBackfilledConcrete, originalBackfilledSoil, originalGrouted, originalCored, originalPrepped, originalMeasured, originalLinerSize, originalInProcess, originalInStock, originalDelivered, originalBuildRebuild, originalPreVideo, originalLinerInstalled, originalFinalVideo, originalCost, originalVideoInspection, originalCoRequired, originalPitRequired, originalCoPitLocation, originalPostContractDigRequired, originalCoCutDown, originalFinalRestoration, companyId, originalVideoLengthToPropertyLine, originalLiningThruCo, originalNoticeDelivered, newClientInspectionNo, flange, originalGasket, originalDepthOfLocated, originalDigRequiredPriorToLining, originalDigRequiredPriorToLiningCompleted, originalDigRequiredAfterLining, originalDigRequiredAfterLiningCompleted, originalOutOfScope, newHoldClientIssue, originalHoldClientIssueResolved, newHoldLFSIssue, originalHoldLFSIssueResolved, newRequiresRoboticPrep, newRequiresRoboticPrepCompleted, originalLinerType, originalPrepType, newDyeTetRepair, newDyeTestComplete, originalContractYear, newContractYear); } } }
/// <summary> /// Delete /// </summary> /// <param name="workId">workId</param> /// <param name="assetIdLateral">assetIdLateral</param> /// <param name="sectionWorkId">sectionWorkId</param> /// <param name="companyId">companyId</param> private void Delete(int workId, int assetIdLateral, int sectionWorkId, int companyId) { WorkGateway workGateway = new WorkGateway(); workGateway.LoadByWorkId(workId, companyId); int currentProjectId = workGateway.GetProjectId(workId); ProjectGateway projectGateway = new ProjectGateway(); projectGateway.LoadByProjectId(currentProjectId); int clientId = projectGateway.GetClientID(currentProjectId); // delete lateral work WorkJunctionLiningLateral workJunctionLiningLateral = new WorkJunctionLiningLateral(null); workJunctionLiningLateral.DeleteDirect(workId, sectionWorkId, companyId); // delete lfs lateral LfsAssetSewerLateral lfsAssetSewerLateral = new LfsAssetSewerLateral(null); bool isDeleted = lfsAssetSewerLateral.DeleteDirect(assetIdLateral, companyId); if (isDeleted) { // delete lfs lateral client LfsAssetSewerLateralClientGateway lfsAssetSewerLateralClientGateway = new LfsAssetSewerLateralClientGateway(); lfsAssetSewerLateralClientGateway.LoadByAssetIdClientId(assetIdLateral, clientId, companyId); if (lfsAssetSewerLateralClientGateway.Table.Rows.Count > 0) { LfsAssetSewerLateralClient lfsAssetSewerLateralClient = new LfsAssetSewerLateralClient(null); lfsAssetSewerLateralClient.DeleteDirect(assetIdLateral, clientId, companyId); } } }
/// <summary> /// WorkUpdate /// </summary> /// <param name="currentProjectId">currentProjectId</param> /// <param name="workType">workType</param> /// <param name="assetId">assetId</param> /// <param name="sectionWorkId">sectionWorkId</param> /// <param name="pipeLocated">pipeLocated</param> /// <param name="servicesLocated">servicesLocated</param> /// <param name="coInstalled">coInstalled</param> /// <param name="backfilledConcrete">backfilledConcrete</param> /// <param name="backfilledSoil">backfilledSoil</param> /// <param name="grouted">grouted</param> /// <param name="cored">cored</param> /// <param name="prepped">prepped</param> /// <param name="measured">measured</param> /// <param name="linerSize">linerSize</param> /// <param name="inProcess">inProcess</param> /// <param name="inStock">inStock</param> /// <param name="delivered">delivered</param> /// <param name="buildRebuild">buildRebuild</param> /// <param name="preVideo">preVideo</param> /// <param name="linerInstalled">linerInstalled</param> /// <param name="finalVideo">finalVideo</param> /// <param name="cost">cost</param> /// <param name="videoInspection">videoInspection</param> /// <param name="coRequired">coRequired</param> /// <param name="pitRequired">pitRequired</param> /// <param name="coPitLocation">coPitLocation</param> /// <param name="postContractDigRequired">postContractDigRequired</param> /// <param name="coCutDown">coCutDown</param> /// <param name="finalRestoration">finalRestoration</param> /// <param name="deleted">deleted</param> /// <param name="companyId">companyId</param> /// <param name="videoLengthToPropertyLine">videoLengthToPropertyLine</param> /// <param name="liningThruCo">liningThruCo</param> /// <param name="noticeDelivered">noticeDelivered</param> /// <param name="hamiltonInspectionNumber">hamiltonInspectionNumber</param> /// <param name="flange">flange</param> /// <param name="gasket">gasket</param> /// <param name="depthOfLocated">depthOfLocated</param> /// <param name="digRequiredPriorToLining">digRequiredPriorToLining</param> /// <param name="digRequiredPriorToLiningCompleted">digRequiredPriorToLiningCompleted</param> /// <param name="digRequiredAfterLining">digRequiredAfterLining</param> /// <param name="digRequiredAfterLiningCompleted">digRequiredAfterLiningCompleted</param> /// <param name="outOfScope">outOfScope</param> /// <param name="holdClientIssue">holdClientIssue</param> /// <param name="holdClientIssueResolved">holdClientIssueResolved</param> /// <param name="holdLFSIssue">holdLFSIssue</param> /// <param name="holdLFSIssueResolved">holdLFSIssueResolved</param> /// <param name="requiresRoboticPrep">requiresRoboticPrep</param> /// <param name="requiresRoboticPrepCompleted">requiresRoboticPrepCompleted</param> /// <param name="linerType">linerType</param> /// <param name="prepType">prepType</param> /// <param name="dyeTestReq">dyeTestReq</param> /// <param name="dyeTestComplete">dyeTestComplete</param> private void WorkUpdate(int currentProjectId, int assetId, int sectionWorkId, DateTime? pipeLocated, DateTime? servicesLocated, DateTime? coInstalled, DateTime? backfilledConcrete, DateTime? backfilledSoil, DateTime? grouted, DateTime? cored, DateTime? prepped, DateTime? measured, string linerSize, DateTime? inProcess, DateTime? inStock, DateTime? delivered, int? buildRebuild, DateTime? preVideo, DateTime? linerInstalled, DateTime? finalVideo, decimal? cost, DateTime? videoInspection, bool coRequired, bool pitRequired, string coPitLocation, bool postContractDigRequired, DateTime? coCutDown, DateTime? finalRestoration, bool deleted, int companyId, string videoLengthToPropertyLine, bool liningThruCo, DateTime? noticeDelivered, string hamiltonInspectionNumber, string flange, string gasket, string depthOfLocated, bool digRequiredPriorToLining, DateTime? digRequiredPriorToLiningCompleted, bool digRequiredAfterLining, DateTime? digRequiredAfterLiningCompleted, bool outOfScope, bool holdClientIssue, DateTime? holdClientIssueResolved, bool holdLFSIssue, DateTime? holdLFSIssueResolved, bool requiresRoboticPrep, DateTime? requiresRoboticPrepCompleted, string linerType, string prepType, bool dyeTestReq, DateTime? dyeTestComplete, string contractYear) { // Load work id WorkGateway workGateway = new WorkGateway(); workGateway.LoadByProjectIdAssetIdWorkType(currentProjectId, assetId, "Junction Lining Lateral", companyId); int workId = workGateway.GetWorkId(assetId, "Junction Lining Lateral", currentProjectId); WorkJunctionLiningLateralGateway workJunctionLiningLateralGateway = new WorkJunctionLiningLateralGateway(); workJunctionLiningLateralGateway.LoadByWorkId(workId, companyId); // Load original data DateTime? originalPipeLocated = workJunctionLiningLateralGateway.GetPipeLocated(workId); DateTime? originalServicesLocated = workJunctionLiningLateralGateway.GetServicesLocated(workId); DateTime? originalCoInstalled = workJunctionLiningLateralGateway.GetCoInstalled(workId); DateTime? originalBackfilledConcrete = workJunctionLiningLateralGateway.GetBackfilledConcrete(workId); DateTime? originalBackfilledSoil = workJunctionLiningLateralGateway.GetBackfilledSoil(workId); DateTime? originalGrouted = workJunctionLiningLateralGateway.GetGrouted(workId); DateTime? originalCored = workJunctionLiningLateralGateway.GetCored(workId); DateTime? originalPrepped = workJunctionLiningLateralGateway.GetPrepped(workId); DateTime? originalMeasured = workJunctionLiningLateralGateway.GetMeasured(workId); string originalLinerSize = workJunctionLiningLateralGateway.GetLinerSize(workId); DateTime? originalInProcess = workJunctionLiningLateralGateway.GetInProcess(workId); DateTime? originalInStock = workJunctionLiningLateralGateway.GetInStock(workId); DateTime? originalDelivered = workJunctionLiningLateralGateway.GetDelivered(workId); int? originalBuildRebuild = workJunctionLiningLateralGateway.GetBuildRebuild(workId); DateTime? originalPreVideo = workJunctionLiningLateralGateway.GetPreVideo(workId); DateTime? originalLinerInstalled = workJunctionLiningLateralGateway.GetLinerInstalled(workId); DateTime? originalFinalVideo = workJunctionLiningLateralGateway.GetFinalVideo(workId); decimal? originalCost = workJunctionLiningLateralGateway.GetCost(workId); DateTime? originalVideoInspection = workJunctionLiningLateralGateway.GetVideoInspection(workId); bool originalCoRequired = workJunctionLiningLateralGateway.GetCoRequired(workId); bool originalPitRequired = workJunctionLiningLateralGateway.GetPitRequired(workId); string originalCoPitLocation = workJunctionLiningLateralGateway.GetCoPitLocation(workId); bool originalPostContractDigRequired = workJunctionLiningLateralGateway.GetPostContractDigRequired(workId); DateTime? originalCoCutDown = workJunctionLiningLateralGateway.GetCoCutDown(workId); DateTime? originalFinalRestoration = workJunctionLiningLateralGateway.GetFinalRestoration(workId); string originalVideoLengthToPropertyLine = workJunctionLiningLateralGateway.GetVideoLengthToPropertyLine(workId); bool originalLiningThruCo = workJunctionLiningLateralGateway.GetLiningThruCo(workId); DateTime? originalNoticeDelivered = workJunctionLiningLateralGateway.GetNoticeDelivered(workId); string originalHamiltonInspectionNumber = workJunctionLiningLateralGateway.GetHamiltonInspectionNumber(workId); string originalFlange = workJunctionLiningLateralGateway.GetFlange(workId); string originalGasket = workJunctionLiningLateralGateway.GetGasket(workId); string originalDepthOfLocated = workJunctionLiningLateralGateway.GetDepthOfLocated(workId); bool originalDigRequiredPriorToLining = workJunctionLiningLateralGateway.GetDigRequiredPriorToLining(workId); DateTime? originalDigRequiredPriorToLiningCompleted = workJunctionLiningLateralGateway.GetDigRequiredPriorToLiningCompleted(workId); bool originalDigRequiredAfterLining = workJunctionLiningLateralGateway.GetDigRequiredAfterLining(workId); DateTime? originalDigRequiredAfterLiningCompleted = workJunctionLiningLateralGateway.GetDigRequiredAfterLiningCompleted(workId); bool originalOutOfScope = workJunctionLiningLateralGateway.GetOutOfScope(workId); bool originalHoldClientIssue = workJunctionLiningLateralGateway.GetHoldClientIssue(workId); DateTime? originalHoldClientIssueResolved = workJunctionLiningLateralGateway.GetHoldClientIssueResolved(workId); bool originalHoldLFSIssue = workJunctionLiningLateralGateway.GetHoldLFSIssue(workId); DateTime? originalHoldLFSIssueResolved = workJunctionLiningLateralGateway.GetHoldLFSIssueResolved(workId); bool originalRequiresRoboticPrep = workJunctionLiningLateralGateway.GetLateralRequiresRoboticPrep(workId); DateTime? originalRequiresRoboticPrepCompleted = workJunctionLiningLateralGateway.GetLateralRequiresRoboticPrepCompleted(workId); string originalLinerType = workJunctionLiningLateralGateway.GetLinerType(workId); string originalPrepType = workJunctionLiningLateralGateway.GetPrepType(workId); bool originalDyeTestReq = workJunctionLiningLateralGateway.GetDyeTestReq(workId); DateTime? originalDyeTestComplete = null; if (workJunctionLiningLateralGateway.GetDyeTestComplete(workId).HasValue) originalDyeTestComplete = workJunctionLiningLateralGateway.GetDyeTestComplete(workId); string originalContractYear = workJunctionLiningLateralGateway.GetContractYear(workId); // New data DateTime? newPipeLocated = pipeLocated; DateTime? newServicesLocated = servicesLocated; DateTime? newCoInstalled = coInstalled; DateTime? newBackfilledConcrete = backfilledConcrete; DateTime? newBackfilledSoil = backfilledSoil; DateTime? newGrouted = grouted; DateTime? newCored = cored; DateTime? newPrepped = prepped; DateTime? newMeasured = measured; string newLinerSize = linerSize; DateTime? newInProcess = inProcess; DateTime? newInStock = inStock; DateTime? newDelivered = delivered; int? newBuildRebuild = buildRebuild; DateTime? newPreVideo = preVideo; DateTime? newLinerInstalled = linerInstalled; DateTime? newFinalVideo = finalVideo; decimal? newCost = cost; DateTime? newVideoInspection = videoInspection; bool newCoRequired = coRequired; bool newPitRequired = pitRequired; string newCoPitLocation = coPitLocation; bool newPostContractDigRequired = postContractDigRequired; DateTime? newCoCutDown = coCutDown; DateTime? newFinalRestoration = finalRestoration; string newVideoLengthToPropertyLine = videoLengthToPropertyLine; bool newLiningThruCo = liningThruCo; DateTime? newNoticeDelivered = noticeDelivered; string newHamiltonInspectionNumber = hamiltonInspectionNumber; string newFlange = flange; string newGasket = gasket; string newDepthOfLocated = depthOfLocated; bool newDigRequiredPriorToLining = digRequiredPriorToLining; DateTime? newDigRequiredPriorToLiningCompleted = digRequiredPriorToLiningCompleted; bool newDigRequiredAfterLining = digRequiredAfterLining; DateTime? newDigRequiredAfterLiningCompleted = digRequiredAfterLiningCompleted; bool newOutOfScope = outOfScope; bool newHoldClientIssue = holdClientIssue; DateTime? newHoldClientIssueResolved = holdClientIssueResolved; bool newHoldLFSIssue = holdLFSIssue; DateTime? newHoldLFSIssueResolved = holdLFSIssueResolved; bool newRequiresRoboticPrep = requiresRoboticPrep; DateTime? newRequiresRoboticPrepCompleted = requiresRoboticPrepCompleted; string newLinerType = linerType; string newPrepType = prepType; bool newDyeTestReq = dyeTestReq; DateTime? newDyeTestComplete = null; if (dyeTestComplete.HasValue) newDyeTestComplete = dyeTestComplete; string newContractYear = contractYear; // Update work WorkJunctionLiningLateral workJunctionLiningLateral = new WorkJunctionLiningLateral(null); workJunctionLiningLateral.UpdateDirect(workId, sectionWorkId, originalPipeLocated, originalServicesLocated, originalCoInstalled, originalBackfilledConcrete, originalBackfilledSoil, originalGrouted, originalCored, originalPrepped, originalMeasured, originalLinerSize, originalInProcess, originalInStock, originalDelivered, originalBuildRebuild, originalPreVideo, originalLinerInstalled, originalFinalVideo, originalCost, originalVideoInspection, originalCoRequired, originalPitRequired, originalCoPitLocation, originalPostContractDigRequired, originalCoCutDown, originalFinalRestoration, false, companyId, originalVideoLengthToPropertyLine, originalLiningThruCo, originalNoticeDelivered, originalHamiltonInspectionNumber, originalFlange, originalGasket, originalDepthOfLocated, originalDigRequiredPriorToLining, originalDigRequiredPriorToLiningCompleted, originalDigRequiredAfterLining, originalDigRequiredAfterLiningCompleted, originalOutOfScope, originalHoldClientIssue, originalHoldClientIssueResolved, originalHoldLFSIssue, originalHoldLFSIssueResolved, originalRequiresRoboticPrep, originalRequiresRoboticPrepCompleted, originalLinerType, originalPrepType, originalDyeTestReq, originalDyeTestComplete, newPipeLocated, newServicesLocated, newCoInstalled, newBackfilledConcrete, newBackfilledSoil, newGrouted, newCored, newPrepped, newMeasured, newLinerSize, newInProcess, newInStock, newDelivered, newBuildRebuild, newPreVideo, newLinerInstalled, newFinalVideo, newCost, newVideoInspection, newCoRequired, newPitRequired, newCoPitLocation, newPostContractDigRequired, newCoCutDown, newFinalRestoration, companyId, newVideoLengthToPropertyLine, newLiningThruCo, newNoticeDelivered, newHamiltonInspectionNumber, newFlange, newGasket, newDepthOfLocated, newDigRequiredPriorToLining, newDigRequiredPriorToLiningCompleted, newDigRequiredAfterLining, newDigRequiredAfterLiningCompleted, newOutOfScope, newHoldClientIssue, newHoldClientIssueResolved, newHoldLFSIssue, newHoldLFSIssueResolved, newRequiresRoboticPrep, newRequiresRoboticPrepCompleted, newLinerType, newPrepType, newDyeTestReq, newDyeTestComplete, originalContractYear, newContractYear); }
/// <summary> /// Save all sections & works to database (direct) /// </summary> /// <param name="workId">workId</param> /// <param name="projectId">projectId</param> /// <param name="sectionAssetId">sectionAssetId</param> /// <param name="countryId">countryId</param> /// <param name="provinceId">provinceId</param> /// <param name="countyId">countyId</param> /// <param name="cityId">cityId</param> /// <param name="length">length</param> /// <param name="companyId">companyId</param> /// <param name="isNewMeasuredFromDsmh">isNewMeasuredFromDsmh</param> /// <param name="prepDataRoboticPrep">prepDataRoboticPrep</param> /// <param name="prepDataRoboticPrepCompleted">prepDataRoboticPrepCompleted</param> public void Save(int workId, int projectId, int sectionAssetId, Int64 countryId, Int64? provinceId, Int64? countyId, Int64? cityId, string length, int companyId, bool isNewMeasuredFromDsmh, bool prepDataRoboticPrep, DateTime? prepDataRoboticPrepCompleted) { // Update Laterals RehabAssessmentLateralDetailsGateway rehabAssessmentLateralDetailsGateway = new RehabAssessmentLateralDetailsGateway(Data); if (rehabAssessmentLateralDetailsGateway.Table.Rows.Count > 0) { // Get WorkId if (workId == 0) { WorkFullLengthLining workFullLengthLining = new WorkFullLengthLining(null); workId = workFullLengthLining.InsertDirectEmptyWorks(projectId, sectionAssetId, null, "", null, null, null, null, null, null, null, false, false, false, false, false, false, false, companyId, false, "", ""); } foreach (RehabAssessmentTDS.LateralDetailsRow row in (RehabAssessmentTDS.LateralDetailsDataTable)Table) { int lateral = row.Lateral; ProjectGateway projectGateway = new ProjectGateway(); projectGateway.LoadByProjectId(projectId); int clientId = projectGateway.GetClientID(projectId); // ... Insert lateral if ((!row.InDatabase) && (!row.Deleted)) { string videoDistance = rehabAssessmentLateralDetailsGateway.GetVideoDistance(lateral); string clockPosition = rehabAssessmentLateralDetailsGateway.GetClockPosition(lateral); string distanceToCentre = rehabAssessmentLateralDetailsGateway.GetDistanceToCentre(lateral); string timeOpened = rehabAssessmentLateralDetailsGateway.GetTimeOpened(lateral); string reverseSetup = rehabAssessmentLateralDetailsGateway.GetReverseSetup(lateral); DateTime? reinstate = rehabAssessmentLateralDetailsGateway.GetReinstate(lateral); string comments = rehabAssessmentLateralDetailsGateway.GetComments(lateral); string clientLateralId = rehabAssessmentLateralDetailsGateway.GetClientLateralId(lateral); string clientInspectionNo = rehabAssessmentLateralDetailsGateway.GetClientInspectionNo(lateral); DateTime? v1Inspection = rehabAssessmentLateralDetailsGateway.GetV1Inspection(lateral); bool requiredRoboticPrep = rehabAssessmentLateralDetailsGateway.GetRequiresRoboticPrep(lateral); DateTime? requiredRoboticPrepDate = rehabAssessmentLateralDetailsGateway.GetRequiresRoboticPrepDate(lateral); bool holdClientIssue = rehabAssessmentLateralDetailsGateway.GetHoldClientIssue(lateral); bool holdLFSIssue = rehabAssessmentLateralDetailsGateway.GetHoldLFSIssue(lateral); bool lineLateral = rehabAssessmentLateralDetailsGateway.GetLineLateral(lateral); string flange = rehabAssessmentLateralDetailsGateway.GetFlange(lateral); bool dyeTestReq = rehabAssessmentLateralDetailsGateway.GetDyeTestReq(lateral); DateTime? dyeTestComplete = null; if (rehabAssessmentLateralDetailsGateway.GetDyeTestComplete(lateral).HasValue) dyeTestComplete = rehabAssessmentLateralDetailsGateway.GetDyeTestComplete(lateral); string contractYear = rehabAssessmentLateralDetailsGateway.GetContractYear(lateral); // ... ... Insert asset int lateral_assetId = SaveLateral(row, projectId, sectionAssetId, countryId, provinceId, countyId, cityId, companyId, isNewMeasuredFromDsmh); // ... ... Insert lateral to FulllengthLining InsertFLLLateral(workId, lateral_assetId, videoDistance, clockPosition, distanceToCentre, timeOpened, reverseSetup, reinstate, comments, false, companyId, clientInspectionNo, v1Inspection, requiredRoboticPrep, requiredRoboticPrepDate, holdClientIssue, holdLFSIssue, lineLateral, dyeTestReq, dyeTestComplete, contractYear); // ... ... If lateral will be in Junction Lining if ((row.LineLateral) && (!row.InJlDatabase)) { if (((!prepDataRoboticPrep) && (!prepDataRoboticPrepCompleted.HasValue)) || ((prepDataRoboticPrep) && (prepDataRoboticPrepCompleted.HasValue))) { // ... ... Load work id int sectionWorkId = 0; WorkJunctionLiningSection workJunctionLiningSection = new WorkJunctionLiningSection(null); sectionWorkId = workJunctionLiningSection.InsertDirect(projectId, sectionAssetId, null, 0, 0, false, "No", 0, 0, false, companyId, "", "", "", "", false, "", 0); WorkJunctionLiningLateralGateway workJunctionLiningLateralGateway = new WorkJunctionLiningLateralGateway(); WorkJunctionLiningLateral workJunctionLiningLateral = new WorkJunctionLiningLateral(workJunctionLiningLateralGateway.Data); workJunctionLiningLateral.InsertDirect(projectId, lateral_assetId, sectionWorkId, null, null, null, null, null, null, null, null, null, "", null, null, null, 0, null, null, null, 0, v1Inspection, true, false, "", false, null, null, false, companyId, "", "", "", false, null, "", flange, "", "", false, null, false, null, false, holdClientIssue, null, holdLFSIssue, null, requiredRoboticPrep, requiredRoboticPrepDate, "", "", dyeTestReq, dyeTestComplete, contractYear); } } // ... Insert material for M1 lateral try { string material = rehabAssessmentLateralDetailsGateway.GetMaterialType(lateral); if (material != "") { InsertMaterial(lateral_assetId, material, companyId); } } catch { } //... Insert client lateral id try { if (clientLateralId.Trim() != "") { LfsAssetSewerLateralClient lfsAssetSewerLateralClient = new LfsAssetSewerLateralClient(null); lfsAssetSewerLateralClient.InsertDirect(lateral_assetId, clientId, clientLateralId, false, companyId); } } catch { } } // ... Edit laterals if ((row.InDatabase) && (!row.Deleted)) { // original values string originalVideoDistance = rehabAssessmentLateralDetailsGateway.GetVideoDistanceOriginal(lateral); string originalClockPosition = rehabAssessmentLateralDetailsGateway.GetClockPositionOriginal(lateral); string originalDistanceToCentre = rehabAssessmentLateralDetailsGateway.GetDistanceToCentreOriginal(lateral); string originalTimeOpened = rehabAssessmentLateralDetailsGateway.GetTimeOpenedOriginal(lateral); string originalReverseSetup = rehabAssessmentLateralDetailsGateway.GetReverseSetupOriginal(lateral); DateTime? originalReinstate = rehabAssessmentLateralDetailsGateway.GetReinstateOriginal(lateral); string originalComments = rehabAssessmentLateralDetailsGateway.GetCommentsOriginal(lateral); string originalClientLateralId = rehabAssessmentLateralDetailsGateway.GetClientLateralIdOriginal(lateral); string originalClientInspectionNo = rehabAssessmentLateralDetailsGateway.GetClientInspectionNoOriginal(lateral); DateTime? originalV1Inspection = rehabAssessmentLateralDetailsGateway.GetV1InspectionOriginal(lateral); bool originalRequiresRoboticPrep = rehabAssessmentLateralDetailsGateway.GetRequiresRoboticPrepOriginal(lateral); DateTime? originalRequiresRoboticPrepDate = rehabAssessmentLateralDetailsGateway.GetRequiresRoboticPrepDateOriginal(lateral); bool originalHoldClientIssue = rehabAssessmentLateralDetailsGateway.GetHoldClientIssueOriginal(lateral); bool originalHoldLFSIssue = rehabAssessmentLateralDetailsGateway.GetHoldLFSIssueOriginal(lateral); bool originalLineLateral = rehabAssessmentLateralDetailsGateway.GetLineLateralOriginal(lateral); bool originalDyeTestReq = rehabAssessmentLateralDetailsGateway.GetDyeTestReqOriginal(lateral); DateTime? originalDyeTestComplete = null; if (rehabAssessmentLateralDetailsGateway.GetDyeTestCompleteOriginal(lateral).HasValue) originalDyeTestComplete = rehabAssessmentLateralDetailsGateway.GetDyeTestCompleteOriginal(lateral); string originalContractYear = rehabAssessmentLateralDetailsGateway.GetContractYearOriginal(lateral); // new values string newVideoDistance = rehabAssessmentLateralDetailsGateway.GetVideoDistance(lateral); string newClockPosition = rehabAssessmentLateralDetailsGateway.GetClockPosition(lateral); string newDistanceToCentre = rehabAssessmentLateralDetailsGateway.GetDistanceToCentre(lateral); string newTimeOpened = rehabAssessmentLateralDetailsGateway.GetTimeOpened(lateral); string newReverseSetup = rehabAssessmentLateralDetailsGateway.GetReverseSetup(lateral); DateTime? newReinstate = rehabAssessmentLateralDetailsGateway.GetReinstate(lateral); string newComments = rehabAssessmentLateralDetailsGateway.GetComments(lateral); string newClientLateralId = rehabAssessmentLateralDetailsGateway.GetClientLateralId(lateral); string newClientInspectionNo = rehabAssessmentLateralDetailsGateway.GetClientInspectionNo(lateral); DateTime? newV1Inspection = rehabAssessmentLateralDetailsGateway.GetV1Inspection(lateral); bool newRequiresRoboticPrep = rehabAssessmentLateralDetailsGateway.GetRequiresRoboticPrep(lateral); DateTime? newRequiresRoboticPrepDate = rehabAssessmentLateralDetailsGateway.GetRequiresRoboticPrepDate(lateral); bool newHoldClientIssue = rehabAssessmentLateralDetailsGateway.GetHoldClientIssue(lateral); bool newHoldLFSIssue = rehabAssessmentLateralDetailsGateway.GetHoldLFSIssue(lateral); bool newLineLateral = rehabAssessmentLateralDetailsGateway.GetLineLateral(lateral); string newFlange = rehabAssessmentLateralDetailsGateway.GetFlange(lateral); bool newDyeTestReq = rehabAssessmentLateralDetailsGateway.GetDyeTestReq(lateral); DateTime? newDyeTestComplete = null; if (rehabAssessmentLateralDetailsGateway.GetDyeTestComplete(lateral).HasValue) newDyeTestComplete = rehabAssessmentLateralDetailsGateway.GetDyeTestComplete(lateral); string newContractYear = rehabAssessmentLateralDetailsGateway.GetContractYear(lateral); // ... Update laterals int lateral_assetId = SaveLateral(row, projectId, sectionAssetId, countryId, provinceId, countyId, cityId, companyId, isNewMeasuredFromDsmh); UpdateLateral(row, projectId, sectionAssetId, countryId, provinceId, countyId, cityId, length, companyId); // ... Update if lateral is in FulllenghtLining if (!row.InFllDatabase) { WorkFullLengthLiningM1LateralGateway workFullLengthLiningM1LateralGateay = new WorkFullLengthLiningM1LateralGateway(); workFullLengthLiningM1LateralGateay.LoadAllByWorkIdLateral(workId, lateral_assetId, companyId); if (workFullLengthLiningM1LateralGateay.Table.Rows.Count == 0) { InsertFLLLateral(workId, lateral_assetId, newVideoDistance, newClockPosition, newDistanceToCentre, newTimeOpened, newReverseSetup, newReinstate, newComments, false, companyId, newClientInspectionNo, newV1Inspection, newRequiresRoboticPrep, newRequiresRoboticPrepDate, newHoldClientIssue, newHoldLFSIssue, newLineLateral, newDyeTestReq, newDyeTestComplete, newContractYear); } else { UpdateFLLLateral(workId, lateral_assetId, originalVideoDistance, originalClockPosition, originalDistanceToCentre, originalTimeOpened, originalReverseSetup, originalReinstate, originalComments, true, companyId, originalClientInspectionNo, originalV1Inspection, originalRequiresRoboticPrep, originalRequiresRoboticPrepDate, originalHoldClientIssue, originalHoldLFSIssue, originalLineLateral, originalDyeTestReq, originalDyeTestComplete, originalContractYear, workId, lateral_assetId, newVideoDistance, newClockPosition, newDistanceToCentre, newTimeOpened, newReverseSetup, newReinstate, newComments, false, companyId, newClientInspectionNo, newV1Inspection, newRequiresRoboticPrep, newRequiresRoboticPrepDate, newHoldClientIssue, newHoldLFSIssue, newLineLateral, newDyeTestReq, newDyeTestComplete, newContractYear); } } else { UpdateFLLLateral(workId, lateral_assetId, originalVideoDistance, originalClockPosition, originalDistanceToCentre, originalTimeOpened, originalReverseSetup, originalReinstate, originalComments, false, companyId, originalClientInspectionNo, originalV1Inspection, originalRequiresRoboticPrep, originalRequiresRoboticPrepDate, originalHoldClientIssue, originalHoldLFSIssue, originalLineLateral, originalDyeTestReq, originalDyeTestComplete, originalContractYear,workId, lateral_assetId, newVideoDistance, newClockPosition, newDistanceToCentre, newTimeOpened, newReverseSetup, newReinstate, newComments, false, companyId, newClientInspectionNo, newV1Inspection, newRequiresRoboticPrep, newRequiresRoboticPrepDate, newHoldClientIssue, newHoldLFSIssue, newLineLateral, newDyeTestReq, newDyeTestComplete, newContractYear); } // ... Update if lateral is in Junction Lining if (row.InJlDatabase) { if (originalLineLateral == newLineLateral) { // ... ... Update jl lateral (clientInspectionNo, v1Inspection, requiredRoboticPrep, requiredRoboticPrepDate, holdClientIssue, holdLFSIssue, flange) UpdateJLLaterals(projectId, lateral_assetId, companyId, newV1Inspection, newClientInspectionNo, newRequiresRoboticPrep, newRequiresRoboticPrepDate, newHoldClientIssue, newHoldLFSIssue, newFlange, newDyeTestReq, newDyeTestComplete, newContractYear); } else { int sectionWorkId = 0; WorkJunctionLiningSection workJunctionLiningSection = new WorkJunctionLiningSection(null); sectionWorkId = workJunctionLiningSection.InsertDirect(projectId, sectionAssetId, null, 0, 0, false, "No", 0, 0, false, companyId, "", "", "", "", false, "", 0); // Delete empty lateral form jl. DeleteJLLaterals(projectId, lateral_assetId, companyId, sectionWorkId); } } else { // ... ... Insert if should be in junction Lining if (row.LineLateral) { if (((!prepDataRoboticPrep) && (!prepDataRoboticPrepCompleted.HasValue)) || ((prepDataRoboticPrep) && (prepDataRoboticPrepCompleted.HasValue))) { int sectionWorkId = 0; // Insert to jl laterals WorkJunctionLiningSection workJunctionLiningSection = new WorkJunctionLiningSection(null); sectionWorkId = workJunctionLiningSection.InsertDirect(projectId, sectionAssetId, null, 0, 0, false, "No", 0, 0, false, companyId, "", "", "", "", false, "", 0); WorkJunctionLiningLateralGateway workJunctionLiningLateralGateway = new WorkJunctionLiningLateralGateway(); WorkJunctionLiningLateral workJunctionLiningLateral = new WorkJunctionLiningLateral(workJunctionLiningLateralGateway.Data); workJunctionLiningLateral.InsertDirect(projectId, lateral_assetId, sectionWorkId, null, null, null, null, null, null, null, null, null, "", null, null, null, 0, null, null, null, 0, newV1Inspection, false, false, "", false, null, null, false, companyId, "", "", "", false, null, newClientInspectionNo, newFlange, "", "", false, null, false, null, false, newHoldClientIssue, null, newHoldLFSIssue, null, newRequiresRoboticPrep, newRequiresRoboticPrepDate, "", "", newDyeTestReq, newDyeTestComplete, newContractYear); } } } string material = rehabAssessmentLateralDetailsGateway.GetMaterialType(lateral); if (material != "") { InsertMaterial(lateral_assetId, material, companyId); } try { LfsAssetSewerLateralClientGateway lfsAssetSewerLateralClientGateway = new LfsAssetSewerLateralClientGateway(); lfsAssetSewerLateralClientGateway.LoadAllByAssetIdClientId(lateral_assetId, clientId, companyId); if (lfsAssetSewerLateralClientGateway.Table.Rows.Count == 0) { LfsAssetSewerLateralClient lfsAssetSewerLateralClient = new LfsAssetSewerLateralClient(null); lfsAssetSewerLateralClient.InsertDirect(lateral_assetId, clientId, originalClientLateralId, false, companyId); } else { LfsAssetSewerLateralClient lfsAssetSewerLateralClient = new LfsAssetSewerLateralClient(null); string originalClientLateralId2 = lfsAssetSewerLateralClientGateway.GetClientLateralId(lateral_assetId, clientId); lfsAssetSewerLateralClient.UpdateDirect(lateral_assetId, clientId, originalClientLateralId, false, companyId, lateral_assetId, clientId, newClientLateralId, false, companyId); } } catch { } } // ... Delete laterals if ((row.InDatabase) && (row.Deleted)) { DeleteFLLLateral(workId, row.Lateral, companyId, clientId); } } } }
/// <summary> /// Save a lateral work /// </summary> /// <param name="projectId">projectId</param> /// <param name="lateralAssetId">lateralAssetId</param> /// <param name="sectionWorkId">sectionWorkId</param> /// <param name="companyId">companyId</param> private void SaveJLLWork(int projectId, int lateralAssetId, int sectionWorkId, int companyId) { WorkJunctionLiningLateralGateway workJunctionLiningLateralGateway = new WorkJunctionLiningLateralGateway(); WorkJunctionLiningLateral workJunctionLiningLateral = new WorkJunctionLiningLateral(workJunctionLiningLateralGateway.Data); workJunctionLiningLateral.InsertDirect(projectId, lateralAssetId, sectionWorkId, null, null, null, null, null, null, null, null, null, "", null, null, null, 0, null, null, null, 0, null, false, false, "", false, null, null, false, companyId, "", "", "", false, null, "", "", "", "", false, null, false, null, false, false, null, false, null, false, null, "", "", false, DateTime.Now, ""); }