public bool CanGetBlood(BloodType other) { if (other == null) { return(true); } var expressed = ExpressedBloodType(); var otherExpressed = other.ExpressedBloodType(); if (RhExpressed() == Rh.Neg) { if (other.RhExpressed() == Rh.Pos) { return(false); } } if (otherExpressed == ExpressedBloodTypes.O) { return(true); } if (expressed == ExpressedBloodTypes.AB) { return(true); } return(expressed == otherExpressed); }
public bool Equals(BloodType other) => ExpressedBloodType().Equals(other.ExpressedBloodType()) && RhExpressed().Equals(other.RhExpressed());