Exemplo n.º 1
0
        /// <summary>
        /// Gets the hash code
        /// </summary>
        /// <returns>Hash code</returns>
        public override int GetHashCode()
        {
            unchecked // Overflow is fine, just wrap
            {
                var hashCode = 41;
                // Suitable nullity checks etc, of course :)
                if (DutyId != null)
                {
                    hashCode = hashCode * 59 + DutyId.GetHashCode();
                }
                if (SlaveDutyId != null)
                {
                    hashCode = hashCode * 59 + SlaveDutyId.GetHashCode();
                }
                if (BlockId != null)
                {
                    hashCode = hashCode * 59 + BlockId.GetHashCode();
                }
                if (ClientDeptId != null)
                {
                    hashCode = hashCode * 59 + ClientDeptId.GetHashCode();
                }
                if (SubDiscipline != null)
                {
                    hashCode = hashCode * 59 + SubDiscipline.GetHashCode();
                }

                hashCode = hashCode * 59 + RequestGender.GetHashCode();
                if (Grade != null)
                {
                    hashCode = hashCode * 59 + Grade.GetHashCode();
                }
                if (FallbackGrade != null)
                {
                    hashCode = hashCode * 59 + FallbackGrade.GetHashCode();
                }
                if (VacancyReason != null)
                {
                    hashCode = hashCode * 59 + VacancyReason.GetHashCode();
                }
                if (Date != null)
                {
                    hashCode = hashCode * 59 + Date.GetHashCode();
                }
                if (StartTime != null)
                {
                    hashCode = hashCode * 59 + StartTime.GetHashCode();
                }
                if (EndTime != null)
                {
                    hashCode = hashCode * 59 + EndTime.GetHashCode();
                }

                hashCode = hashCode * 59 + BreakDuration.GetHashCode();

                hashCode = hashCode * 59 + PoNumber.GetHashCode();

                hashCode = hashCode * 59 + UniqueNumber.GetHashCode();
                if (Agency != null)
                {
                    hashCode = hashCode * 59 + Agency.GetHashCode();
                }
                if (Skill != null)
                {
                    hashCode = hashCode * 59 + Skill.GetHashCode();
                }
                if (Specialty != null)
                {
                    hashCode = hashCode * 59 + Specialty.GetHashCode();
                }
                if (FallbackSkill != null)
                {
                    hashCode = hashCode * 59 + FallbackSkill.GetHashCode();
                }
                if (FallbackSpeciality != null)
                {
                    hashCode = hashCode * 59 + FallbackSpeciality.GetHashCode();
                }

                hashCode = hashCode * 59 + Status.GetHashCode();
                if (Rates != null)
                {
                    hashCode = hashCode * 59 + Rates.GetHashCode();
                }
                if (TimeIntervalRates != null)
                {
                    hashCode = hashCode * 59 + TimeIntervalRates.GetHashCode();
                }
                if (Person != null)
                {
                    hashCode = hashCode * 59 + Person.GetHashCode();
                }
                return(hashCode);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Returns true if Duty instances are equal
        /// </summary>
        /// <param name="other">Instance of Duty to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(Duty other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     DutyId == other.DutyId ||
                     DutyId != null &&
                     DutyId.Equals(other.DutyId)
                     ) &&
                 (
                     SlaveDutyId == other.SlaveDutyId ||
                     SlaveDutyId != null &&
                     SlaveDutyId.Equals(other.SlaveDutyId)
                 ) &&
                 (
                     BlockId == other.BlockId ||
                     BlockId != null &&
                     BlockId.Equals(other.BlockId)
                 ) &&
                 (
                     ClientDeptId == other.ClientDeptId ||
                     ClientDeptId != null &&
                     ClientDeptId.Equals(other.ClientDeptId)
                 ) &&
                 (
                     SubDiscipline == other.SubDiscipline ||
                     SubDiscipline != null &&
                     SubDiscipline.Equals(other.SubDiscipline)
                 ) &&
                 (
                     RequestGender == other.RequestGender ||

                     RequestGender.Equals(other.RequestGender)
                 ) &&
                 (
                     Grade == other.Grade ||
                     Grade != null &&
                     Grade.Equals(other.Grade)
                 ) &&
                 (
                     FallbackGrade == other.FallbackGrade ||
                     FallbackGrade != null &&
                     FallbackGrade.Equals(other.FallbackGrade)
                 ) &&
                 (
                     VacancyReason == other.VacancyReason ||
                     VacancyReason != null &&
                     VacancyReason.Equals(other.VacancyReason)
                 ) &&
                 (
                     Date == other.Date ||
                     Date != null &&
                     Date.Equals(other.Date)
                 ) &&
                 (
                     StartTime == other.StartTime ||
                     StartTime != null &&
                     StartTime.Equals(other.StartTime)
                 ) &&
                 (
                     EndTime == other.EndTime ||
                     EndTime != null &&
                     EndTime.Equals(other.EndTime)
                 ) &&
                 (
                     BreakDuration == other.BreakDuration ||

                     BreakDuration.Equals(other.BreakDuration)
                 ) &&
                 (
                     PoNumber == other.PoNumber ||

                     PoNumber.Equals(other.PoNumber)
                 ) &&
                 (
                     UniqueNumber == other.UniqueNumber ||

                     UniqueNumber.Equals(other.UniqueNumber)
                 ) &&
                 (
                     Agency == other.Agency ||
                     Agency != null &&
                     Agency.Equals(other.Agency)
                 ) &&
                 (
                     Skill == other.Skill ||
                     Skill != null &&
                     Skill.Equals(other.Skill)
                 ) &&
                 (
                     Specialty == other.Specialty ||
                     Specialty != null &&
                     Specialty.Equals(other.Specialty)
                 ) &&
                 (
                     FallbackSkill == other.FallbackSkill ||
                     FallbackSkill != null &&
                     FallbackSkill.Equals(other.FallbackSkill)
                 ) &&
                 (
                     FallbackSpeciality == other.FallbackSpeciality ||
                     FallbackSpeciality != null &&
                     FallbackSpeciality.Equals(other.FallbackSpeciality)
                 ) &&
                 (
                     Status == other.Status ||

                     Status.Equals(other.Status)
                 ) &&
                 (
                     Rates == other.Rates ||
                     Rates != null &&
                     other.Rates != null &&
                     Rates.SequenceEqual(other.Rates)
                 ) &&
                 (
                     TimeIntervalRates == other.TimeIntervalRates ||
                     TimeIntervalRates != null &&
                     other.TimeIntervalRates != null &&
                     TimeIntervalRates.SequenceEqual(other.TimeIntervalRates)
                 ) &&
                 (
                     Person == other.Person ||
                     Person != null &&
                     Person.Equals(other.Person)
                 ));
        }