Пример #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);
            }
        }
Пример #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Duty" /> class.
 /// </summary>
 /// <param name="dutyId">Trust identifier of the duty.</param>
 /// <param name="slaveDutyId">Identifier of the slave duty if duty is part of consolidated duties.</param>
 /// <param name="blockId">Identifier of block duties if duty is part of the block.</param>
 /// <param name="clientDeptId">BankStaff ward trust identifier.</param>
 /// <param name="subDiscipline">Staff group trust identifier.</param>
 /// <param name="requestGender">requestGender.</param>
 /// <param name="grade">Grade trust identifier of the request.</param>
 /// <param name="fallbackGrade">fallbackGrade.</param>
 /// <param name="vacancyReason">vacancyReason.</param>
 /// <param name="date">Date of the duty.</param>
 /// <param name="startTime">Start time of the shift.</param>
 /// <param name="endTime">End time of the shift.</param>
 /// <param name="breakDuration">Duration of break in minutes.</param>
 /// <param name="poNumber">Need to understand if needed from Trust/Agency.</param>
 /// <param name="uniqueNumber">BRN / Unique number.</param>
 /// <param name="agency">Supplying agency trust identifier.</param>
 /// <param name="skill">Stored as free text in DE Provider.</param>
 /// <param name="specialty">Stored as free text in DE Provider.</param>
 /// <param name="fallbackSkill">Stored as free text in DE Provider.</param>
 /// <param name="fallbackSpeciality">Stored as free text in DE Provider.</param>
 /// <param name="status">Will need to understand if duty is no longer required and cancel on DE Provider.</param>
 /// <param name="rates">Trust Pay Agency &amp; Trust Pays DE provider - split rate between pay to worker and pay to agency.</param>
 /// <param name="timeIntervalRates">Array of rates and intervals for which the rate is applied.</param>
 /// <param name="person">person.</param>
 public Duty(string dutyId = default(string), string slaveDutyId = default(string), string blockId = default(string), string clientDeptId = default(string), string subDiscipline = default(string), RequestGender requestGender = default(RequestGender), string grade = default(string), string fallbackGrade = default(string), string vacancyReason = default(string), DateTime date = default(DateTime), string startTime = default(string), string endTime = default(string), int breakDuration = default(int), int poNumber = default(int), int uniqueNumber = default(int), string agency = default(string), string skill = default(string), string specialty = default(string), string fallbackSkill = default(string), string fallbackSpeciality = default(string), StatusEnum?status = default(StatusEnum?), List <Rates> rates = default(List <Rates>), List <TimeIntervalRates> timeIntervalRates = default(List <TimeIntervalRates>), Person person = default(Person))
 {
     this.DutyId             = dutyId;
     this.SlaveDutyId        = slaveDutyId;
     this.BlockId            = blockId;
     this.ClientDeptId       = clientDeptId;
     this.SubDiscipline      = subDiscipline;
     this.RequestGender      = requestGender;
     this.Grade              = grade;
     this.FallbackGrade      = fallbackGrade;
     this.VacancyReason      = vacancyReason;
     this.Date               = date;
     this.StartTime          = startTime;
     this.EndTime            = endTime;
     this.BreakDuration      = breakDuration;
     this.PoNumber           = poNumber;
     this.UniqueNumber       = uniqueNumber;
     this.Agency             = agency;
     this.Skill              = skill;
     this.Specialty          = specialty;
     this.FallbackSkill      = fallbackSkill;
     this.FallbackSpeciality = fallbackSpeciality;
     this.Status             = status;
     this.Rates              = rates;
     this.TimeIntervalRates  = timeIntervalRates;
     this.Person             = person;
 }
Пример #3
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)
                 ));
        }