/// <summary>
        /// Verify if new length <= distance from usmh's laterals  
        /// </summary>
        /// <param name="newLength">newLength</param>
        /// <param name="assetId">assetId</param>
        /// <param name="companyId">companyId</param>
        /// <returns></returns>
        public bool VerifyNewLengthByAssetId(string newLength, int assetId, int companyId)
        {
            Distance newLengthDistance = new Distance(newLength);

            AssetSewerLateralGateway assetSewerLateralGateway = new AssetSewerLateralGateway();
            assetSewerLateralGateway.LoadAllBySectionId(assetId, companyId);

            foreach(AssetsTDS.AM_ASSET_SEWER_LATERALRow lateralRow in (AssetsTDS.AM_ASSET_SEWER_LATERALDataTable) assetSewerLateralGateway.Table)
            {
                Distance distanceFromUsmh = new Distance(assetSewerLateralGateway.GetDistanceFromUSMH(lateralRow.AssetID));

                Distance diference = newLengthDistance - distanceFromUsmh;
                if (diference.ToDoubleInEng3() < 0)
                {
                    return false;
                }
            }

            return true;
        }