public override int GetHashCode() { unchecked { var hashCode = StartUtc.GetHashCode(); hashCode = (hashCode * 397) ^ EndUtc.GetHashCode(); hashCode = (hashCode * 397) ^ (DateRangeType != null ? DateRangeType.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (DesignUid != null ? DesignUid.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (DesignFileName != null ? DesignFileName.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (ContributingMachines != null ? ContributingMachines.GetListHashCode() : 397); hashCode = (hashCode * 397) ^ (OnMachineDesignId != null ? OnMachineDesignId.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (OnMachineDesignName != null ? OnMachineDesignName.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (ElevationType != null ? ElevationType.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (VibeStateOn != null ? VibeStateOn.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (PolygonUid != null ? PolygonUid.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (PolygonName != null ? PolygonName.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (PolygonLL != null ? PolygonLL.GetListHashCode() : 397); hashCode = (hashCode * 397) ^ (PolygonType != null ? PolygonType.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (ForwardDirection != null ? ForwardDirection.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (LayerNumber != null ? LayerNumber.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (AlignmentUid != null ? AlignmentUid.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (AlignmentFileName != null ? AlignmentFileName.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (StartStation != null ? StartStation.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (EndStation != null ? EndStation.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (LeftOffset != null ? LeftOffset.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (RightOffset != null ? RightOffset.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (AsAtDate != null ? AsAtDate.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (AutomaticsType != null ? AutomaticsType.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (TemperatureRangeMin != null ? TemperatureRangeMin.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (TemperatureRangeMax != null ? TemperatureRangeMax.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (PassCountRangeMin != null ? PassCountRangeMin.GetHashCode() : 397); hashCode = (hashCode * 397) ^ (PassCountRangeMax != null ? PassCountRangeMax.GetHashCode() : 397); return(hashCode); } }
public bool Equals(Filter other) { if (other is null) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return(StartUtc.Equals(other.StartUtc) && EndUtc.Equals(other.EndUtc) && DateRangeType == other.DateRangeType && string.Equals(DesignUid, other.DesignUid) && string.Equals(DesignFileName, other.DesignFileName) && ((ContributingMachines ?? other.ContributingMachines) == null || ContributingMachines.ScrambledEquals(other.ContributingMachines)) && OnMachineDesignId == other.OnMachineDesignId && string.Equals(OnMachineDesignName, other.OnMachineDesignName) && ElevationType == other.ElevationType && VibeStateOn == other.VibeStateOn && string.Equals(PolygonUid, other.PolygonUid) && PolygonType == other.PolygonType && string.Equals(PolygonName, other.PolygonName) && ((PolygonLL ?? other.PolygonLL) == null || PolygonLL.ScrambledEquals(other.PolygonLL)) && ForwardDirection == other.ForwardDirection && LayerNumber == other.LayerNumber && string.Equals(AlignmentUid, other.AlignmentUid) && string.Equals(AlignmentFileName, other.AlignmentFileName) && StartStation.Equals(other.StartStation) && EndStation.Equals(other.EndStation) && LeftOffset.Equals(other.LeftOffset) && RightOffset.Equals(other.RightOffset) && AutomaticsType == other.AutomaticsType && TemperatureRangeMin.Equals(other.TemperatureRangeMin) && TemperatureRangeMax.Equals(other.TemperatureRangeMax) && PassCountRangeMin.Equals(other.PassCountRangeMin) && PassCountRangeMax.Equals(other.PassCountRangeMax)); }
public bool Equals(FilterResult other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return(Id.Equals(other.Id) && Uid.Equals(other.Uid) && string.Equals(Name, other.Name) && string.Equals(Description, other.Description) && StartUtc.Equals(other.StartUtc) && EndUtc.Equals(other.EndUtc) && OnMachineDesignId == other.OnMachineDesignId && OnMachineDesignName == other.OnMachineDesignName && AssetIDs.ScrambledEquals(other.AssetIDs) && VibeStateOn == other.VibeStateOn && CompactorDataOnly.Equals(other.CompactorDataOnly) && ElevationType == other.ElevationType && PolygonLL.ScrambledEquals(other.PolygonLL) && PolygonGrid.ScrambledEquals(other.PolygonGrid) && ForwardDirection == other.ForwardDirection && (AlignmentFile == null ? other.AlignmentFile == null : AlignmentFile.Equals(other.AlignmentFile)) && StartStation.Equals(other.StartStation) && EndStation.Equals(other.EndStation) && LeftOffset.Equals(other.LeftOffset) && RightOffset.Equals(other.RightOffset) && LayerType.Equals(other.LayerType) && (LayerDesignOrAlignmentFile == null ? other.LayerDesignOrAlignmentFile == null : LayerDesignOrAlignmentFile.Equals(other.LayerDesignOrAlignmentFile)) && BenchElevation.Equals(other.BenchElevation) && LayerNumber == other.LayerNumber && LayerThickness.Equals(other.LayerThickness) && ContributingMachines.ScrambledEquals(other.ContributingMachines) && SurveyedSurfaceExclusionList.ScrambledEquals(other.SurveyedSurfaceExclusionList) && ExcludedSurveyedSurfaceUids.ScrambledEquals(other.ExcludedSurveyedSurfaceUids) && ReturnEarliest.Equals(other.ReturnEarliest) && GpsAccuracy.Equals(other.GpsAccuracy) && GpsAccuracyIsInclusive.Equals(other.GpsAccuracyIsInclusive) && BladeOnGround.Equals(other.BladeOnGround) && TrackMapping.Equals(other.TrackMapping) && WheelTracking.Equals(other.WheelTracking) && (DesignFile == null ? other.DesignFile == null : DesignFile.Equals(other.DesignFile)) && AutomaticsType == other.AutomaticsType && TemperatureRangeMin.Equals(other.TemperatureRangeMin) && TemperatureRangeMax.Equals(other.TemperatureRangeMax) && PassCountRangeMin.Equals(other.PassCountRangeMin) && PassCountRangeMax.Equals(other.PassCountRangeMax)); }
protected bool FIsValid() { bool fResult = true; try { if (String.IsNullOrEmpty(Body)) { throw new MyFlightbookValidationException(Resources.Schedule.ErrNoDescription); } if (String.IsNullOrEmpty(ResourceID)) { throw new MyFlightbookValidationException(Resources.Schedule.ErrNoResource); } TimeSpan ts = EndUtc.Subtract(StartUtc); if (ts.TotalMinutes < 0) { throw new MyFlightbookValidationException(Resources.Schedule.ErrInvalidDateTimes); } if (ts.TotalMinutes < 1) { throw new MyFlightbookValidationException(Resources.Schedule.ErrZeroDuration); } // Check for overlap with other appointments - no double booking! // We do this last because it hits the database. if (FIsDisallowedDoubleBooked()) { throw new MyFlightbookValidationException(Resources.Schedule.ErrDoubleBooked); } } catch (MyFlightbookValidationException ex) { LastError = ex.Message; fResult = false; } return(fResult); }
protected override bool EnsureValidState() { var isValid = base.EnsureValidState(); if (StartUtc.HasValue()) { if (!StartUtc.IsFutureDate()) { throw new RuleViolationException(Resources.AppointmentEntity_StartIsNotFuture); } if (EndUtc.IsBeforeOrEqual(StartUtc)) { throw new RuleViolationException(Resources.AppointmentEntity_EndBeforeStart); } } if (State != AppointmentState.Unknown && !StartUtc.HasValue()) { throw new RuleViolationException(Resources.AppointmentEntity_CannotStartOrEndBeforeScheduled); } return(isValid); }
public override string ToString() { return(String.Format(CultureInfo.InvariantCulture, "{0} - {1}: {2} {3} (tz:{4})", StartUtc.ToString("yyyy-MM-dd hh:mm", CultureInfo.InvariantCulture), EndUtc.ToString("yyyy-MM-dd hh:mm", CultureInfo.InvariantCulture), OwningUser, Body, LocalTimeZone == null ? "(none)" : LocalTimeZone.Id)); }
public override int GetHashCode() { return(StartUtc.GetHashCode() * 17 + EndUtc.GetHashCode() * 23 + ID.GetHashCode() * 13 + ResourceID.GetHashCode() * 19 + Body.GetHashCode() * 29 + OwnerName.GetHashCode() * 7); }