using System; using System.Runtime.Serialization; namespace Umbraco.Web.Models { /// /// A model representing the tours a user has taken/completed /// [DataContract(Name = "userTourStatus", Namespace = "")] public class UserTourStatus : IEquatable { /// /// The tour alias /// [DataMember(Name = "alias")] public string Alias { get; set; } /// /// If the tour is completed /// [DataMember(Name = "completed")] public bool Completed { get; set; } /// /// If the tour is disabled /// [DataMember(Name = "disabled")] public bool Disabled { get; set; } public bool Equals(UserTourStatus other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return string.Equals(Alias, other.Alias); } public override bool Equals(object obj) { if (ReferenceEquals(null, obj)) return false; if (ReferenceEquals(this, obj)) return true; if (obj.GetType() != this.GetType()) return false; return Equals((UserTourStatus) obj); } public override int GetHashCode() { return Alias.GetHashCode(); } public static bool operator ==(UserTourStatus left, UserTourStatus right) { return Equals(left, right); } public static bool operator !=(UserTourStatus left, UserTourStatus right) { return !Equals(left, right); } } }