/// <summary>
        /// Update Lateral
        /// </summary>
        /// <param name="row">row</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>
        private void UpdateLateral(RehabAssessmentTDS.LateralDetailsRow row, int projectId, int sectionAssetId, Int64 countryId, Int64? provinceId, Int64? countyId, Int64? cityId, string videoLength, int companyId)
        {
            // not modified variables
            RehabAssessmentTDS rehabAssessment = (RehabAssessmentTDS)Data;
            RehabAssessmentLateralDetailsGateway rehabAssessmentLateralDetailsGateway = new RehabAssessmentLateralDetailsGateway(rehabAssessment);
            int lateral = row.Lateral;

            AssetSewerLateralGateway assetSewerLateralGateway = new AssetSewerLateralGateway();
            assetSewerLateralGateway.LoadByAssetId(lateral, companyId);

            int section_ = assetSewerLateralGateway.GetSection(lateral);
            string lateralId = assetSewerLateralGateway.GetLateralId(lateral);
            string latitudeAtSection = assetSewerLateralGateway.GetLatitudeAtSection(lateral);
            string longitudeAtSection = assetSewerLateralGateway.GetLongitudeAtSection(lateral);
            string latitudeAtPropertyLine = assetSewerLateralGateway.GetLatitudeAtPropertyLine(lateral);
            string longitudeAtPropertyLine = assetSewerLateralGateway.GetLongitudeAtPropertyLine(lateral);
            string mapSize = assetSewerLateralGateway.GetMapSize(lateral);

            // original values
            string originalState = rehabAssessmentLateralDetailsGateway.GetLiveOriginal(lateral);
            string originalSize = rehabAssessmentLateralDetailsGateway.GetSizeOriginal(lateral);
            string originalDistanceFromUsmh = rehabAssessmentLateralDetailsGateway.GetDistanceFromUSMHOriginal(lateral);
            string originalDistanceFromDsmh = rehabAssessmentLateralDetailsGateway.GetDistanceFromDSMHOriginal(lateral);
            string originalConnectionType = rehabAssessmentLateralDetailsGateway.GetConnectionTypeOriginal(lateral);
            string originalAddress = rehabAssessmentLateralDetailsGateway.GetMnOriginal(lateral);

            // new values
            string newState = rehabAssessmentLateralDetailsGateway.GetLive(lateral);
            string newSize = rehabAssessmentLateralDetailsGateway.GetSize(lateral);
            string newDistanceFromUsmh = rehabAssessmentLateralDetailsGateway.GetDistanceFromUSMH(lateral);
            string newDistanceFromDsmh = rehabAssessmentLateralDetailsGateway.GetDistanceFromDSMH(lateral);
            string newConnectionType = rehabAssessmentLateralDetailsGateway.GetConnectionType(lateral);
            string newAddress = rehabAssessmentLateralDetailsGateway.GetMn(lateral);

            // update asset laterals
            AssetSewerLateral assetSewerLateral = new AssetSewerLateral(null);
            assetSewerLateral.UpdateDirect(lateral, section_, originalAddress, lateralId, latitudeAtSection, longitudeAtSection, latitudeAtPropertyLine, longitudeAtPropertyLine, originalState, originalSize, originalDistanceFromUsmh, originalDistanceFromDsmh, mapSize, false, companyId, originalConnectionType, lateral, section_, newAddress, lateralId, latitudeAtSection, longitudeAtSection, latitudeAtPropertyLine, longitudeAtPropertyLine, newState, newSize, newDistanceFromUsmh, newDistanceFromDsmh, mapSize, false, companyId, newConnectionType);
        }