/// <summary> /// UpdateForReportForJunctionLining /// </summary> /// <param name="assetId">assetId</param> /// <param name="workId">workId</param> /// <param name="projectId">projectId</param> /// <param name="measuredFrom">measuredFrom</param> /// /// <param name="companyId">companyId</param> private int UpdateForReportForJunctionLining(int assetId, int workId, int projectId, string measuredFrom, int companyId) { int lateralsTot = 0; foreach (LateralLocationSheetReportTDS.LateralLocationSheetRow row in (LateralLocationSheetReportTDS.LateralLocationSheetDataTable)Table) { if (row.AssetID == assetId) { int lateralNumber = 0; LateralLocationSheetLateralDetailsReport lateralLocationSheetLateralDetailsReportSorted; LateralLocationSheetLateralDetailsReport lateralLocationSheetLateralDetailsReport = new LateralLocationSheetLateralDetailsReport(); lateralLocationSheetLateralDetailsReport.LoadBySectionIdWorkIdProjectId(assetId, workId, projectId, companyId); lateralsTot = lateralLocationSheetLateralDetailsReport.Table.Rows.Count; if (lateralLocationSheetLateralDetailsReport.Table.Rows.Count > 0) { int totalLaterals = 0; totalLaterals = lateralLocationSheetLateralDetailsReport.Table.Rows.Count; decimal div; decimal interval; if (totalLaterals > 26) { interval = 1; } else { div = 26 / totalLaterals; interval = Math.Truncate(div); } lateralLocationSheetLateralDetailsReportSorted = Sort(lateralLocationSheetLateralDetailsReport, measuredFrom); foreach (LateralLocationSheetReportTDS.LateralLocationSheetLateralDetailsRow lateralRow in (LateralLocationSheetReportTDS.LateralLocationSheetLateralDetailsDataTable)lateralLocationSheetLateralDetailsReportSorted.Table) { lateralNumber = lateralNumber + (int)interval; if (totalLaterals == 1) { lateralNumber = 13; } // Determine position string clock = ""; if (!lateralRow.IsClockPositionNull()) clock = lateralRow.ClockPosition; string clockPosition = "N"; Distance d; string distance = ""; if (measuredFrom == "DSMH") { clockPosition = "S"; if (clock != "") { if (clock == "1" || clock == "1:00" || clock == "01:00" || clock == "2" || clock == "2:00" || clock == "02:00" || clock == "3" || clock == "3:00" || clock == "03:00" || clock == "4" || clock == "4:00" || clock == "04:00" || clock == "5" || clock == "5:00" || clock == "05:00" || clock == "6" && clock != "6:00" && clock != "06:00") { clockPosition = "N"; } } if (!lateralRow.IsReverseSetupNull()) d = new Distance(lateralRow.ReverseSetup); else d = new Distance(); distance = (!lateralRow.IsReverseSetupNull()) ? d.ToStringInMet3() + "/" + ((decimal)Math.Round(d.ToDoubleInEng3(), 1)).ToString() + "ft " : "Distance not defined. "; } else { clockPosition = "N"; if (clock != "") { if (clock == "1" || clock == "1:00" || clock == "01:00" || clock == "2" || clock == "2:00" || clock == "02:00" || clock == "3" || clock == "3:00" || clock == "03:00" || clock == "4" || clock == "4:00" || clock == "04:00" || clock == "5" || clock == "5:00" || clock == "05:00" || clock == "6" && clock != "6:00" && clock != "06:00") { clockPosition = "S"; } } if (!lateralRow.IsVideoDistanceNull()) d = new Distance(lateralRow.VideoDistance); else d = new Distance(); distance = (!lateralRow.IsVideoDistanceNull()) ? d.ToStringInMet3() + "/" + ((decimal)Math.Round(d.ToDoubleInEng3(), 1)).ToString() + "ft " : "Distance not defined. "; } // Determine address string address = ""; if (!lateralRow.IsAddressNull()) address = lateralRow.Address; string connection = ""; string connectionType = ""; if (!lateralRow.IsConnectionTypeNull()) connectionType = lateralRow.ConnectionType; if (connectionType != "") { connection += " (" + connectionType + ") "; } else { connection += " "; } // Determine state string state = ""; if (!lateralRow.IsStateNull()) { if (lateralRow.State == "Visibly Plugged") { state = "- VP "; } else { state = "- " + lateralRow.State + " "; } } // Determine color, flange and out of scope DateTime? linerInstalled = null; string flange = ""; bool outOfScope = false; int workIdJl = GetWorkId(projectId, lateralRow.AssetID, "Junction Lining Lateral", companyId); if (workIdJl > 0) { WorkJunctionLiningLateralGateway workJunctionLiningLateralGateway = new WorkJunctionLiningLateralGateway(); workJunctionLiningLateralGateway.LoadByWorkId(workIdJl, companyId); linerInstalled = workJunctionLiningLateralGateway.GetLinerInstalled(workIdJl); flange = workJunctionLiningLateralGateway.GetFlange(workIdJl); outOfScope = workJunctionLiningLateralGateway.GetOutOfScope(workIdJl); } string color = ""; if (linerInstalled.HasValue) { color = "blue"; } else { if (outOfScope) { color = "red"; } else { if (lateralRow.LineLateral) { color = "green"; } else { if ((!lateralRow.IsStateNull()) && (lateralRow.State == "Visibly Plugged") || (!lateralRow.LineLateral)) { color = "red"; } } } } // Set distance if ((distance == "0.00m/0ft") && (flange == "MH Shot")) { distance = " " + connection + distance + "MH Shot " + state + " "; } else { distance = " " + connection + distance + state + " "; } // Set values switch (lateralNumber) { case 1: row.ID1 = lateralRow.LateralID; row.A1 = address; row.D1 = distance; row.CP1 = clockPosition; row.C1 = color; break; case 2: row.ID2 = lateralRow.LateralID; row.A2 = address; row.D2 = distance; row.CP2 = clockPosition; row.C2 = color; break; case 3: row.ID3 = lateralRow.LateralID; row.A3 = address; row.D3 = distance; row.CP3 = clockPosition; row.C3 = color; break; case 4: row.ID4 = lateralRow.LateralID; row.A4 = address; row.D4 = distance; row.CP4 = clockPosition; row.C4 = color; break; case 5: row.ID5 = lateralRow.LateralID; row.A5 = address; row.D5 = distance; row.CP5 = clockPosition; row.C5 = color; break; case 6: row.ID6 = lateralRow.LateralID; row.A6 = address; row.D6 = distance; row.CP6 = clockPosition; row.C6 = color; break; case 7: row.ID7 = lateralRow.LateralID; row.A7 = address; row.D7 = distance; row.CP7 = clockPosition; row.C7 = color; break; case 8: row.ID8 = lateralRow.LateralID; row.A8 = address; row.D8 = distance; row.CP8 = clockPosition; row.C8 = color; break; case 9: row.ID9 = lateralRow.LateralID; row.A9 = address; row.D9 = distance; row.CP9 = clockPosition; row.C9 = color; break; case 10: row.ID10 = lateralRow.LateralID; row.A10 = address; row.D10 = distance; row.CP10 = clockPosition; row.C10 = color; break; case 11: row.ID11 = lateralRow.LateralID; row.A11 = address; row.D11 = distance; row.CP11 = clockPosition; row.C11 = color; break; case 12: row.ID12 = lateralRow.LateralID; row.A12 = address; row.D12 = distance; row.CP12 = clockPosition; row.C12 = color; break; case 13: row.ID13 = lateralRow.LateralID; row.A13 = address; row.D13 = distance; row.CP13 = clockPosition; row.C13 = color; break; case 14: row.ID14 = lateralRow.LateralID; row.A14 = address; row.D14 = distance; row.CP14 = clockPosition; row.C14 = color; break; case 15: row.ID15 = lateralRow.LateralID; row.A15 = address; row.D15 = distance; row.CP15 = clockPosition; row.C15 = color; break; case 16: row.ID16 = lateralRow.LateralID; row.A16 = address; row.D16 = distance; row.CP16 = clockPosition; row.C16 = color; break; case 17: row.ID17 = lateralRow.LateralID; row.A17 = address; row.D17 = distance; row.CP17 = clockPosition; row.C17 = color; break; case 18: row.ID18 = lateralRow.LateralID; row.A18 = address; row.D18 = distance; row.CP18 = clockPosition; row.C18 = color; break; case 19: row.ID19 = lateralRow.LateralID; row.A19 = address; row.D19 = distance; row.CP19 = clockPosition; row.C19 = color; break; case 20: row.ID20 = lateralRow.LateralID; row.A20 = address; row.D20 = distance; row.CP20 = clockPosition; row.C20 = color; break; case 21: row.ID21 = lateralRow.LateralID; row.A21 = address; row.D21 = distance; row.CP21 = clockPosition; row.C21 = color; break; case 22: row.ID22 = lateralRow.LateralID; row.A22 = address; row.D22 = distance; row.CP22 = clockPosition; row.C22 = color; break; case 23: row.ID23 = lateralRow.LateralID; row.A23 = address; row.D23 = distance; row.CP23 = clockPosition; row.C23 = color; break; case 24: row.ID24 = lateralRow.LateralID; row.A24 = address; row.D24 = distance; row.CP24 = clockPosition; row.C24 = color; break; case 25: row.ID25 = lateralRow.LateralID; row.A25 = address; row.D25 = distance; row.CP25 = clockPosition; row.C25 = color; break; case 26: row.ID26 = lateralRow.LateralID; row.A26 = address; row.D26 = distance; row.CP26 = clockPosition; row.C26 = color; break; case 27: row.ID27 = lateralRow.LateralID; row.A27 = address; row.D27 = distance; row.CP27 = clockPosition; row.C27 = color; break; case 28: row.ID28 = lateralRow.LateralID; row.A28 = address; row.D28 = distance; row.CP28 = clockPosition; row.C28 = color; break; case 29: row.ID29 = lateralRow.LateralID; row.A29 = address; row.D29 = distance; row.CP29 = clockPosition; row.C29 = color; break; case 30: row.ID30 = lateralRow.LateralID; row.A30 = address; row.D30 = distance; row.CP30 = clockPosition; row.C30 = color; break; case 31: row.ID31 = lateralRow.LateralID; row.A31 = address; row.D31 = distance; row.CP31 = clockPosition; row.C31 = color; break; case 32: row.ID32 = lateralRow.LateralID; row.A32 = address; row.D32 = distance; row.CP32 = clockPosition; row.C32 = color; break; case 33: row.ID33 = lateralRow.LateralID; row.A33 = address; row.D33 = distance; row.CP33 = clockPosition; row.C33 = color; break; case 34: row.ID34 = lateralRow.LateralID; row.A34 = address; row.D34 = distance; row.CP34 = clockPosition; row.C34 = color; break; case 35: row.ID35 = lateralRow.LateralID; row.A35 = address; row.D35 = distance; row.CP35 = clockPosition; row.C35 = color; break; case 36: row.ID36 = lateralRow.LateralID; row.A36 = address; row.D36 = distance; row.CP36 = clockPosition; row.C36 = color; break; case 37: row.ID37 = lateralRow.LateralID; row.A37 = address; row.D37 = distance; row.CP37 = clockPosition; row.C37 = color; break; case 38: row.ID38 = lateralRow.LateralID; row.A38 = address; row.D38 = distance; row.CP38 = clockPosition; row.C38 = color; break; case 39: row.ID39 = lateralRow.LateralID; row.A39 = address; row.D39 = distance; row.CP39 = clockPosition; row.C39 = color; break; case 40: row.ID40 = lateralRow.LateralID; row.A40 = address; row.D40 = distance; row.CP40 = clockPosition; row.C40 = color; break; case 41: row.ID41 = lateralRow.LateralID; row.A41 = address; row.D41 = distance; row.CP41 = clockPosition; row.C41 = color; break; case 42: row.ID42 = lateralRow.LateralID; row.A42 = address; row.D42 = distance; row.CP42 = clockPosition; row.C42 = color; break; case 43: row.ID43 = lateralRow.LateralID; row.A43 = address; row.D43 = distance; row.CP43 = clockPosition; row.C43 = color; break; case 44: row.ID44 = lateralRow.LateralID; row.A44 = address; row.D44 = distance; row.CP44 = clockPosition; row.C44 = color; break; case 45: row.ID45 = lateralRow.LateralID; row.A45 = address; row.D45 = distance; row.CP45 = clockPosition; row.C45 = color; break; case 46: row.ID46 = lateralRow.LateralID; row.A46 = address; row.D46 = distance; row.CP46 = clockPosition; row.C46 = color; break; case 47: row.ID47 = lateralRow.LateralID; row.A47 = address; row.D47 = distance; row.CP47 = clockPosition; row.C47 = color; break; case 48: row.ID48 = lateralRow.LateralID; row.A48 = address; row.D48 = distance; row.CP48 = clockPosition; row.C48 = color; break; case 49: row.ID49 = lateralRow.LateralID; row.A49 = address; row.D49 = distance; row.CP49 = clockPosition; row.C49 = color; break; case 50: row.ID50 = lateralRow.LateralID; row.A50 = address; row.D50 = distance; row.CP50 = clockPosition; row.C50 = color; break; case 51: row.ID51 = lateralRow.LateralID; row.A51 = address; row.D51 = distance; row.CP51 = clockPosition; row.C51 = color; break; case 52: row.ID52 = lateralRow.LateralID; row.A52 = address; row.D52 = distance; row.CP52 = clockPosition; row.C52 = color; break; default: break; } } } } } return lateralsTot; }