Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VEVENT, VALARM, VTODO, VJOURNAL, etc. should all have sane Equals and GetHashCode methods #181

Closed
rianjs opened this issue Oct 21, 2016 · 1 comment

Comments

@rianjs
Copy link
Collaborator

rianjs commented Oct 21, 2016

Here's a fast list of Event's possible subcomponents:

  • Attachments
  • Attendees
  • Calendar
  • Categories
  • Children
  • Class
  • Column
  • Comments
  • Contacts
  • Description
  • DtStamp
  • Duration
  • End
  • ExceptionRules
  • GeographicLocation
  • Group
  • IsAllDay
  • Location
  • Name
  • Organizer
  • Priority
  • RecurrenceRules
  • RequestStatuses
  • Resources
  • Start
  • Status
  • Summary
  • Transparency
  • Uid
  • Url

Skip/re-evaluate later

  • Alarms
  • Parent
  • Properties
  • RecurrenceDates
  • RecurrenceId
  • RelatedComponents
  • Sequence
  • Transparency(???)
@rianjs
Copy link
Collaborator Author

rianjs commented Oct 21, 2016

For consideration later:

return Equals(DtStart, other.DtStart)
    && Equals(DtEnd, other.DtEnd)
    && string.Equals(Location, other.Location, StringComparison.OrdinalIgnoreCase)
    && Status.Equals(other.Status)
    && IsActive() == other.IsActive()
    && Transparency.Equals(other.Transparency)
    && EvaluationIncludesReferenceDate == other.EvaluationIncludesReferenceDate
    && string.Equals(Description, other.Description, StringComparison.OrdinalIgnoreCase)
    && (DtStamp != null && DtStamp.Equals(other.DtStamp))
    && Duration.Equals(other.Duration)
    && (DtEnd != null && DtEnd.Equals(other.DtEnd))
    && (Organizer != null && Organizer.Equals(other.Organizer))
    && string.Equals(Name, other.Name, StringComparison.OrdinalIgnoreCase)
    && string.Equals(Name, other.Name, StringComparison.OrdinalIgnoreCase)
    && resourcesSet.SetEquals(other.Resources)
    && (Attachments != null && CollectionHelpers.Equals(Attachments, other.Attachments))
    && (ExceptionDates != null && CollectionHelpers.Equals(ExceptionDates, other.ExceptionDates))
    && (ExceptionRules != null && CollectionHelpers.Equals(ExceptionRules, other.ExceptionRules))
    && (RecurrenceRules != null && CollectionHelpers.Equals(RecurrenceRules, other.RecurrenceRules))
    && (RecurrenceDates != null && CollectionHelpers.Equals(RecurrenceDates, other.RecurrenceDates))
    && (Contacts != null && CollectionHelpers.Equals(Contacts, other.Contacts));

rianjs pushed a commit that referenced this issue Oct 21, 2016
account. Necessitated creating reasonable equality and hashing methods for
RecurrencePattern objects, finally #181
rianjs pushed a commit that referenced this issue Oct 21, 2016
account. Necessitated creating reasonable equality and hashing methods for
RecurrencePattern objects, finally #181
rianjs added a commit that referenced this issue Oct 22, 2016
rianjs pushed a commit that referenced this issue Oct 24, 2016
generating hashcodes. Implemented IComparable where it made sense to do
so. #181
rianjs pushed a commit that referenced this issue Oct 24, 2016
@rianjs rianjs closed this as completed Nov 13, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant