INNER CODE UNIT · C#

EnclosureEqualityComparer

BlueshiftSoftware/EntityFrameworkCore · src/Blueshift.EntityFrameworkCore.MongoDB.SampleDomain/_Comparers.cs:100

    public class EnclosureEqualityComparer : BaseEqualityComparer<Enclosure>
    {
        private AnimalEqualityComparer _animalEqualityComparer = null;
        private readonly ScheduleEqualityComparer _scheduleEqualityComparer
            = new ScheduleEqualityComparer();

        protected override bool MemberwiseEquals(Enclosure enclosure1, Enclosure enclosure2)
            => Equals(enclosure1.EnclosureId, enclosure2.EnclosureId)
               && string.Equals(enclosure1.Name, enclosure2.Name, StringComparison.Ordinal)
               && string.Equals(enclosure1.AnimalEnclosureType, enclosure2.AnimalEnclosureType, StringComparison.Ordinal)
               && (_animalEqualityComparer?.CompareCollections(enclosure1.Animals, enclosure2.Animals) ?? true)
               && (_scheduleEqualityComparer?.Equals(enclosure1.WeeklySchedule, enclosure2.WeeklySchedule) ?? true);

        public EnclosureEqualityComparer WithAnimalEqualityComparer(Action<AnimalEqualityComparer> configurator = null)
        {
            _animalEqualityComparer = new AnimalEqualityComparer();
            configurator?.Invoke(_animalEqualityComparer);
            return this;

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…