/// <summary> /// Method to return Miscellaneous Structure of type Street Light Point which is owner of Located Street Light which is getting removed. /// </summary> /// <param name="relatedFeatures">RelatedFeatures list of Located StreetLight</param> /// <param name="streetLightFID">Located Street Light FID</param> /// <returns></returns> private IGTKeyObject CheckForMiscellaneousStructure(IGTKeyObjects relatedFeatures, int streetLightFID) { IGTKeyObject structureFeature = null; try { foreach (IGTKeyObject relatedFeature in relatedFeatures) { if (relatedFeature.FNO == 107) { relatedFeature.Components.GetComponent(10701).Recordset.MoveFirst(); if (Convert.ToString(relatedFeature.Components.GetComponent(10701).Recordset.Fields["TYPE_C"].Value) == "SP") { StreetLightImportUtility importUtility = new StreetLightImportUtility(m_oGTDataContext); relatedFeatures = importUtility.GetRelatedFeatures(relatedFeature, 2); if (relatedFeatures.Count == 1 && relatedFeatures[0].FID == streetLightFID) { structureFeature = relatedFeatures[0]; } } } } } catch { throw; } return(structureFeature); }
/// <summary> /// Process street light using Structure Id.(Structure is Yes). /// </summary> /// <param name="p_xlTable">Excel data as datatbale</param> /// <param name="i"></param> private DataRow StreetLightStructureIDSY(DataRow p_xlRow) { StreetLightImportUtility streetLightImportUtility = new StreetLightImportUtility(m_gTDataContext, true, m_gTTransactionManager, m_gTApplication); try { AddCuAttributes(p_xlRow, streetLightImportUtility); streetLightImportUtility.CreateStreetLight(Convert.ToString(p_xlRow["ONCOR STRUCTURE ID"])); if (string.IsNullOrEmpty(streetLightImportUtility.m_strStatus)) { p_xlRow["TRANSACTION STATUS"] = "SUCCESS"; p_xlRow["TRANSACTION COMMENT"] = ""; } else { p_xlRow["TRANSACTION STATUS"] = streetLightImportUtility.m_strStatus; p_xlRow["TRANSACTION COMMENT"] = streetLightImportUtility.m_strComment; } } catch { throw; } return(p_xlRow); }
/// <summary> /// Method to delete StreetLight. /// </summary> /// <param name="streetLightAttributeRS">Recordset of StreetLight Attribute</param> /// <param name="locatable">Bool value whether StreetLight is Located to delete</param> /// <returns></returns> private void DeleteStreetLight(Recordset streetLightAttributeRS, bool locatable) { IGTKeyObjects relatedFeatures = GTClassFactory.Create <IGTKeyObjects>(); IGTKeyObjects deleteFeatures = GTClassFactory.Create <IGTKeyObjects>(); IGTKeyObject feature = GTClassFactory.Create <IGTKeyObject>(); try { StreetLightImportUtility importUtility = new StreetLightImportUtility(m_oGTDataContext); if (!m_oGTTransactionManager.TransactionInProgress) { m_oGTTransactionManager.Begin("Importing Street Light(s) using Import Tool"); } if (locatable) { streetLightAttributeRS.MoveFirst(); feature = m_oGTDataContext.OpenFeature(Convert.ToInt16(streetLightAttributeRS.Fields["G3E_FNO"].Value), Convert.ToInt32(streetLightAttributeRS.Fields["G3E_FID"].Value)); deleteFeatures.Add(feature); relatedFeatures = importUtility.GetRelatedFeatures(feature, 3); if (relatedFeatures.Count > 0) { feature = CheckForMiscellaneousStructure(relatedFeatures, feature.FID); if (feature != null) { deleteFeatures.Add(feature); } } } else { streetLightAttributeRS.MoveFirst(); while (!streetLightAttributeRS.EOF) { feature = m_oGTDataContext.OpenFeature(Convert.ToInt16(streetLightAttributeRS.Fields["G3E_FNO"].Value), Convert.ToInt32(streetLightAttributeRS.Fields["G3E_FID"].Value)); deleteFeatures.Add(feature); streetLightAttributeRS.MoveNext(); } } importUtility.DeleteFeatures(deleteFeatures); if (m_oGTTransactionManager.TransactionInProgress) { m_oGTTransactionManager.Commit(true); m_oGTTransactionManager.RefreshDatabaseChanges(); } } catch { throw; } }
/// <summary> /// Adding Cu Attributes to ImportUtility class object. /// </summary> /// <param name="p_xlTable">Excel data as datatbale</param> /// <param name="streetLightImportUtility">ImportUtility class object</param> /// <param name="i"></param> private static void AddCuAttributes(DataRow p_xlRow, StreetLightImportUtility streetLightImportUtility) { if (!string.IsNullOrEmpty(Convert.ToString(p_xlRow["LAMP TYPE"])) && !string.IsNullOrEmpty(Convert.ToString(p_xlRow["WATTAGE"])) && !string.IsNullOrEmpty(Convert.ToString(p_xlRow["LUMINAIRE STYLE"]))) { streetLightImportUtility.m_strLampType = Convert.ToString(p_xlRow["LAMP TYPE"]); streetLightImportUtility.m_strLumiStyle = Convert.ToString(p_xlRow["LUMINAIRE STYLE"]); streetLightImportUtility.m_strWattage = Convert.ToString(p_xlRow["WATTAGE"]); } }
/// <summary> /// Process street light using GPS Coordinates(Structure is Yes). /// </summary> /// <param name="p_xlTable">Excel data as datatbale</param> /// <param name="i"></param> private DataRow StreetLightESILocationSY(DataRow p_xlRow) { StreetLightImportUtility streetLightImportUtility = new StreetLightImportUtility(m_gTDataContext, false, m_gTTransactionManager, m_gTApplication); try { if (!string.IsNullOrEmpty(Convert.ToString(p_xlRow["LAMP TYPE"])) && !string.IsNullOrEmpty(Convert.ToString(p_xlRow["WATTAGE"])) && !string.IsNullOrEmpty(Convert.ToString(p_xlRow["LUMINAIRE STYLE"]))) { streetLightImportUtility.m_strLampType = Convert.ToString(p_xlRow["LAMP TYPE"]); streetLightImportUtility.m_strLumiStyle = Convert.ToString(p_xlRow["LUMINAIRE STYLE"]); streetLightImportUtility.m_strWattage = Convert.ToString(p_xlRow["WATTAGE"]); } int MiscellaneousStructureFID = streetLightImportUtility.GetMiscStructureFID(Convert.ToString(p_xlRow["ESI LOCATION"])); if (MiscellaneousStructureFID != 0) { streetLightImportUtility.CreateStreetLightWithAccountStructure(MiscellaneousStructureFID); if (string.IsNullOrEmpty(streetLightImportUtility.m_strStatus)) { p_xlRow["TRANSACTION STATUS"] = "WARNING"; p_xlRow["TRANSACTION COMMENT"] = "Structure ID not found and no GPS given. Placed non-located Street Light at location of account’s structure."; } else { p_xlRow["TRANSACTION STATUS"] = streetLightImportUtility.m_strStatus; p_xlRow["TRANSACTION COMMENT"] = streetLightImportUtility.m_strComment; } } else { streetLightImportUtility.CreateStreetLightWithAccountBoundary(Convert.ToString(p_xlRow["ESI LOCATION"])); if (string.IsNullOrEmpty(streetLightImportUtility.m_strStatus)) { p_xlRow["TRANSACTION STATUS"] = "WARNING"; p_xlRow["TRANSACTION COMMENT"] = "Structure ID not found and no GPS. Placed non-located Street Light at centroid of account boundary."; } else { p_xlRow["TRANSACTION STATUS"] = streetLightImportUtility.m_strStatus; p_xlRow["TRANSACTION COMMENT"] = streetLightImportUtility.m_strComment; } } } catch { throw; } return(p_xlRow); }
/// <summary> /// Process street light using ESI Location(Structure is No). /// </summary> /// <param name="p_xlTable">Excel data as datatbale</param> /// <param name="streetLightImportUtility">ImportUtility class object</param> /// <param name="i"></param> private DataRow StreetLightESILocationSN(DataRow p_xlRow, StreetLightImportUtility streetLightImportUtility) { try { AddCuAttributes(p_xlRow, streetLightImportUtility); int MiscellaneousStructureFID = streetLightImportUtility.GetMiscStructureFID(Convert.ToString(p_xlRow["ESI LOCATION"])); if (MiscellaneousStructureFID != 0) { streetLightImportUtility.CreateStreetLightWithAccountStructure(MiscellaneousStructureFID); if (string.IsNullOrEmpty(streetLightImportUtility.m_strStatus)) { p_xlRow["TRANSACTION STATUS"] = "WARNING"; p_xlRow["TRANSACTION COMMENT"] = "No Structure or GPS given. Placed non-located Street Light at location of account’s structure."; } else { p_xlRow["TRANSACTION STATUS"] = streetLightImportUtility.m_strStatus; p_xlRow["TRANSACTION COMMENT"] = streetLightImportUtility.m_strComment; } } else { streetLightImportUtility.CreateStreetLightWithAccountBoundary(Convert.ToString(p_xlRow["ESI LOCATION"])); if (string.IsNullOrEmpty(streetLightImportUtility.m_strStatus)) { p_xlRow["TRANSACTION STATUS"] = "WARNING"; p_xlRow["TRANSACTION COMMENT"] = "No Structure or GPS given. Placed non-located Street Light at centroid of account boundary."; } else { p_xlRow["TRANSACTION STATUS"] = streetLightImportUtility.m_strStatus; p_xlRow["TRANSACTION COMMENT"] = streetLightImportUtility.m_strComment; } } } catch { throw; } return(p_xlRow); }
/// <summary> /// Process street light using GPS Coordinates(Structure is No). /// </summary> /// <param name="p_xlTable">Excel data as datatbale</param> /// <param name="i"></param> private DataRow StreetLightGPSSN(DataRow p_xlRow) { StreetLightImportUtility streetLightImportUtility = new StreetLightImportUtility(m_gTDataContext, true, m_gTTransactionManager, m_gTApplication); try { AddCuAttributes(p_xlRow, streetLightImportUtility); string gpsx = Regex.Replace(Convert.ToString(p_xlRow["GPS X"]), "[A-Za-z ]", ""); double gpsdx = double.Parse(gpsx.Trim()); string gpsy = Regex.Replace(Convert.ToString(p_xlRow["GPS Y"]), "[A-Za-z ]", ""); double gpsdy = double.Parse(gpsy.Trim()); double dZoord = 0.0; ConvertToLatitudeAndLongitude(ref gpsdx, ref gpsdy, ref dZoord); streetLightImportUtility.CreateStreetLight(gpsdx, gpsdy); if (string.IsNullOrEmpty(streetLightImportUtility.m_strStatus)) { p_xlRow["TRANSACTION STATUS"] = "SUCCESS"; p_xlRow["TRANSACTION COMMENT"] = ""; } else { p_xlRow["TRANSACTION STATUS"] = streetLightImportUtility.m_strStatus; p_xlRow["TRANSACTION COMMENT"] = streetLightImportUtility.m_strComment; } } catch { throw; } return(p_xlRow); }
/// <summary> /// Create streetlights based on table data. /// </summary> /// <param name="p_xlTable">Excel sheet as Datatable</param> /// <returns></returns> public DataRow AddStreetLightForTranstionTypeAdd(DataRow p_xlRow) { StreetLightImportUtility streetLightImportUtility = null; try { if (Convert.ToString(p_xlRow["TRANSACTION TYPE"]).ToUpper() == "ADD") { if (p_xlRow["TRANSACTION STATUS"] == null || (Convert.ToString(p_xlRow["TRANSACTION STATUS"]).ToUpper() != "SUCCESS" && Convert.ToString(p_xlRow["TRANSACTION STATUS"]).ToUpper() != "WARNING")) { if (Convert.ToString(p_xlRow["ONCOR STRUCTURE"]).ToUpper() == "Y") { if (!string.IsNullOrEmpty(Convert.ToString(p_xlRow["ONCOR STRUCTURE ID"]))) { p_xlRow = StreetLightStructureIDSY(p_xlRow); } else if (p_xlRow["GPS X"] != null && p_xlRow["GPS Y"] != null && (!string.IsNullOrEmpty(Convert.ToString(p_xlRow["GPS X"]))) && (!string.IsNullOrEmpty(Convert.ToString(p_xlRow["GPS Y"])))) { p_xlRow = StreetLightGPSSY(p_xlRow); } else if (!string.IsNullOrEmpty(Convert.ToString(p_xlRow["ESI LOCATION"]))) { p_xlRow = StreetLightESILocationSY(p_xlRow); } } else if (Convert.ToString(p_xlRow["ONCOR STRUCTURE"]).ToUpper() == "N") { if (p_xlRow["GPS X"] != null && p_xlRow["GPS Y"] != null && (!string.IsNullOrEmpty(Convert.ToString(p_xlRow["GPS X"]))) && (!string.IsNullOrEmpty(Convert.ToString(p_xlRow["GPS Y"])))) { p_xlRow = StreetLightGPSSN(p_xlRow); } else if (!string.IsNullOrEmpty(Convert.ToString(p_xlRow["ESI LOCATION"]))) { streetLightImportUtility = new StreetLightImportUtility(m_gTDataContext, false, m_gTTransactionManager, m_gTApplication); p_xlRow = StreetLightESILocationSN(p_xlRow, streetLightImportUtility); } } if (Convert.ToString(p_xlRow["TRANSACTION STATUS"]) == "SUCCESS") { m_nbrSuccess++; } else if (Convert.ToString(p_xlRow["TRANSACTION STATUS"]) == "ERROR") { m_nbrError++; } else if (Convert.ToString(p_xlRow["TRANSACTION STATUS"]) == "WARNING") { m_nbrWarning++; } p_xlRow["TRANSACTION DATE"] = DateTime.Today; } } } catch { throw; } return(p_xlRow); }