public static GeneralPropertyInformation Get(string streetNumber, string streetName, string borough) { //BBL from address JObject jsonObj = GetAddressDetailsFromGeoClientAPI(streetNumber, streetName, borough); if (jsonObj == null) { return(null); } if (CheckIfMessageContainsNotFound(jsonObj, "address")) { return(null); } GeneralPropertyInformation propertyDetails = new GeneralPropertyInformation(); try { using (NYCDOFEntities dofDBEntities = new NYCDOFEntities()) { //Get General Property Information from Assessment and other sources List <tfnGetGeneralPropertyInformation_Result> propertyInfo = dofDBEntities.tfnGetGeneralPropertyInformation((string)jsonObj.SelectToken("address.bbl")).ToList(); if (propertyInfo != null && propertyInfo.Count > 0) { propertyDetails.propertyInformation = Mapper.Map <PhysicalPropertyInformation>(propertyInfo[0]); //Create a clean address GeneralAddress address = new GeneralAddress(); address.addressLine1 = propertyInfo[0].StreetNumber + " " + StringUtilities.ToTitleCase(propertyInfo[0].StreetName); if (propertyInfo[0].UnitNumber != null) { address.addressLine2 = "Unit #" + propertyInfo[0].UnitNumber; } address.city = StringUtilities.ToTitleCase((string)jsonObj.SelectToken("address.uspsPreferredCityName")); address.state = "NY"; address.zip = (string)jsonObj.SelectToken("address.zipCode"); propertyDetails.address = address; } else { Common.Logs.log().Error(string.Format("Error finding record for BBLE {0} in Assessment", (string)jsonObj.SelectToken("address.bbl"))); } } } catch (Exception e) { Common.Logs.log().Error(string.Format("Error reading data from NYCDOF{0}", Common.Logs.FormatException(e))); return(null); } if (BAL.BBL.GetLot((string)jsonObj.SelectToken("address.bbl")) <= 6999) { BAL.DeedDetails deedDetailsObj = BAL.ACRIS.GetLatestDeedDetails((string)jsonObj.SelectToken("address.bbl")); if (deedDetailsObj != null) { propertyDetails.owners = deedDetailsObj.owners; } } else { propertyDetails.errors = string.Format("Cannot get ownership information for Lot number {0}", BAL.BBL.GetLot((string)jsonObj.SelectToken("address.bbl"))); } return(propertyDetails); }
/// <summary> /// Returns Physical Data about a property identified by BBL /// </summary> /// <param name="propertyBBL"></param> /// <param name="addresscleanup"></param> /// <returns></returns> public static GeneralPropertyInformation Get(string propertyBBL, bool addresscleanup) { try { using (NYCDOFEntities dofDBEntities = new NYCDOFEntities()) { //Find BBL in Assessment Table List <tfnGetGeneralPropertyInformation_Result> propertyInfo = dofDBEntities.tfnGetGeneralPropertyInformation(propertyBBL).ToList(); if (propertyInfo == null || propertyInfo.Count <= 0) { //BBL not in Assessment Table check ACRIS BAL.PropertyLotInformation lotObj = BAL.ACRIS.GetLotInformation(propertyBBL); if (lotObj != null) { propertyInfo.Add(new tfnGetGeneralPropertyInformation_Result()); propertyInfo[0].BBLE = propertyBBL; propertyInfo[0].Borough = BAL.BBL.GetBoroughName(propertyBBL); propertyInfo[0].Block = BAL.BBL.GetBlock(propertyBBL); propertyInfo[0].Lot = BAL.BBL.GetLot(propertyBBL); propertyInfo[0].StreetName = lotObj.StreetName; propertyInfo[0].StreetNumber = lotObj.StreetNumber; propertyInfo[0].UnitNumber = lotObj.UnitNumber; } } if (propertyInfo == null || propertyInfo.Count <= 0) { return(null); //BBL not found } GeneralAddress address = null; GeneralPropertyInformation propertyDetails = new GeneralPropertyInformation(); //Clean address using GeoClinet API JObject jsonObj = null; if (addresscleanup) { jsonObj = GetAddressDetailsFromGeoClientAPI(propertyInfo[0].StreetNumber, propertyInfo[0].StreetName, propertyInfo[0].Borough); } if (jsonObj != null && !CheckIfMessageContainsNotFound(jsonObj, "address") && !string.IsNullOrEmpty((string)jsonObj.SelectToken("address.uspsPreferredCityName"))) { address = new GeneralAddress(); address.addressLine1 = propertyInfo[0].StreetNumber + " " + StringUtilities.ToTitleCase(propertyInfo[0].StreetName); if (propertyInfo[0].UnitNumber != null) { address.addressLine2 = "Unit #" + propertyInfo[0].UnitNumber; } address.city = StringUtilities.ToTitleCase((string)jsonObj.SelectToken("address.uspsPreferredCityName")); address.state = "NY"; address.zip = (string)jsonObj.SelectToken("address.zipCode"); } else { // Use the address from Assessment or ACRIS address = new GeneralAddress(); address.addressLine1 = propertyInfo[0].StreetNumber + " " + StringUtilities.ToTitleCase(propertyInfo[0].StreetName); if (propertyInfo[0].UnitNumber != null) { address.addressLine2 = "Unit #" + propertyInfo[0].UnitNumber; } address.city = StringUtilities.ToTitleCase(BAL.BBL.GetBoroughName(propertyBBL)); address.state = "NY"; if (propertyInfo[0].ZipCode != null) { address.zip = propertyInfo[0].ZipCode; } } propertyDetails.address = address; propertyDetails.propertyInformation = Mapper.Map <PhysicalPropertyInformation>(propertyInfo[0]); BAL.DeedDetails deedDetailsObj = BAL.ACRIS.GetLatestDeedDetails(propertyBBL); if (deedDetailsObj != null) { propertyDetails.owners = deedDetailsObj.owners; } return(propertyDetails); } } catch (Exception e) { Common.Logs.log().Error(string.Format("Error reading data from NYCDOF{0}", Common.Logs.FormatException(e))); return(null); } }