private void SetDischargeSection(DischargeActivity dischargeActivity, SxSSummary sxsSummary,
                                         XmlRootSummaryStation[] stations, UnitSystem unitSystem)
        {
            var dischargeSection = CreateDischargeSectionWithDescription(dischargeActivity, sxsSummary, unitSystem);
            var meterCalibration = new MeterCalibrationMapper().Map(sxsSummary);

            SetMappedVerticals(dischargeSection, meterCalibration, stations);

            SetChannelObservations(dischargeSection, sxsSummary, unitSystem);

            dischargeSection.MeterCalibration = meterCalibration;

            dischargeActivity.ChannelMeasurements.Add(dischargeSection);
        }
        private DischargeActivity CreateDischargeActivityWithSummary(SxSSummary sxsSummary, UnitSystem unitSystem)
        {
            var factory = new DischargeActivityFactory(unitSystem);

            //Discharge summary:
            var measurementPeriod = GetMeasurementPeriod();
            var dischargeActivity = factory.CreateDischargeActivity(measurementPeriod, sxsSummary.Total_Q.AsDouble());

            dischargeActivity.Comments      = sxsSummary.Comments;
            dischargeActivity.Party         = _fieldVisitInfo.Party;
            dischargeActivity.MeasurementId = !string.IsNullOrWhiteSpace(sxsSummary.Meas_No) ? sxsSummary.Meas_No.Trim() : null;

            //Mean gage height:
            AddMeanGageHeight(dischargeActivity, sxsSummary.Stage, unitSystem);

            return(dischargeActivity);
        }
        private void SetChannelObservations(ManualGaugingDischargeSection dischargeSection, SxSSummary sxsSummary,
                                            UnitSystem unitSystem)
        {
            //River area:
            dischargeSection.AreaUnitId = unitSystem.AreaUnitId;
            dischargeSection.AreaValue  = sxsSummary.Meas_Area.AsDouble();

            //Width:
            dischargeSection.WidthValue = sxsSummary.Meas_Width.AsDouble();

            //Velocity:
            dischargeSection.VelocityUnitId       = unitSystem.VelocityUnitId;
            dischargeSection.VelocityAverageValue = sxsSummary.Mean_Vel.AsDouble();
        }