public bool Equals(LogItemViewModel other) { if (ReferenceEquals(null, other)) { return(false); } if (ReferenceEquals(this, other)) { return(true); } return(RepresentedTimeEntriesIds.SequenceEqual(other.RepresentedTimeEntriesIds) && IsBillable == other.IsBillable && IsActive == other.IsActive && string.Equals(Description, other.Description) && string.Equals(ProjectName, other.ProjectName) && string.Equals(ProjectColor, other.ProjectColor) && string.Equals(ClientName, other.ClientName) && string.Equals(TaskName, other.TaskName) && Duration.Equals(other.Duration) && HasProject == other.HasProject && HasTags == other.HasTags && NeedsSync == other.NeedsSync && CanContinue == other.CanContinue && VisualizationIntent == other.VisualizationIntent); }
public override int GetHashCode() => HashCode.From( RepresentedTimeEntriesIds.Aggregate( (acc, id) => HashCode.From(acc, id)), IsBillable, Description, ProjectName, ProjectColor, ClientName, TaskName, Duration, HasProject, HasTags, NeedsSync, CanContinue);