public bool Match(CrmVipCard vipCard, DateTime saleTime) { if (vipCard == null) { return(false); } bool ok = false; if (OnlyExistVipId) { ok = ((VipIds != null) && VipIds.Contains(vipCard.CardId)); } else { ok = ((VipTypes == null) || (VipTypes.Contains(vipCard.CardTypeId))) && ((IdCardTypes == null) || (IdCardTypes.Contains(vipCard.IdCardType))) && ((JobTypes == null) || (JobTypes.Contains(vipCard.JobType))) && ((SexTypes == null) || (SexTypes.Contains(vipCard.SexType))) && ((IssueCardCompanyIds == null) || (IssueCardCompanyIds.Contains(vipCard.IssueCardCompanyId))); } if (ok && (BirthdayMode > 0)) { switch (BirthdayMode) { case 1: //生日 ok = ((vipCard.Birthday > DateTime.MinValue) && (DateTimeUtils.CheckBirthday(vipCard.Birthday, saleTime, vipCard.BirthdayIsChinese))); break; case 2: //生日当月 ok = ((vipCard.Birthday > DateTime.MinValue) && (DateTimeUtils.CheckBirthmonth(vipCard.Birthday, saleTime, vipCard.BirthdayIsChinese))); break; } } return(ok); }