public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var defendant = persons.Defendant(); var consent = Consent as VictimConsent ?? new VictimConsent(); foreach (var victim in persons.Victims()) { var isCapable = consent.IsCapableThereof(victim); var isIntercourse = IsSexualIntercourse(defendant); //the intent is irrelevant - sex with victim is illegal outright var isSexWithIllegal = defendant != null && criminalIntent is StrictLiability && !isCapable && isIntercourse; if (isSexWithIllegal) { AddReasonEntry($"{nameof(IsSexualIntercourse)} is true with victim, {victim.Name}, " + $"who is {nameof(consent.IsCapableThereof)} is false " + $"for {nameof(Consent)} while intent is {nameof(StrictLiability)}"); AddReasonEntry($"sex between {victim.Name} and defendant, {defendant.Name} is illegal outright."); } } return(true); }
public override bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { if (criminalIntent is StrictLiability) { AddReasonEntry($"{nameof(HomicideInOther)} is not applicable to {nameof(StrictLiability)} intent"); return(false); } return(true); }
public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var isRequiredForConspriacy = criminalIntent is Purposely || criminalIntent is SpecificIntent; if (!isRequiredForConspriacy) { AddReasonEntry($"criminal intent element required for {nameof(Solicitation)} is specific intent or purposely"); return(false); } return(true); }
public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var isValidIntent = criminalIntent is Purposely || criminalIntent is SpecificIntent; if (!isValidIntent) { AddReasonEntry($"{nameof(DrugSale)} requires intent of {nameof(Purposely)} or {nameof(SpecificIntent)}"); return(false); } return(true); }
public override bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var isValid = criminalIntent is Knowingly || criminalIntent is GeneralIntent; if (!isValid) { AddReasonEntry($"{nameof(DrugPossession)} requires intent {nameof(Knowingly)} or {nameof(GeneralIntent)}"); return(false); } return(true); }
public override bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var validIntend = criminalIntent is Purposely || criminalIntent is SpecificIntent; if (!validIntend) { AddReasonEntry($"{nameof(ByTaking)} requires intent " + $"of {nameof(Purposely)}, {nameof(SpecificIntent)}"); return(false); } return(true); }
/// <summary> /// Attempt is not applicable to reckless or negligent intent /// </summary> public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var intent = (criminalIntent as DeadlyWeapon)?.UtilizedWith ?? criminalIntent; var isInvalid2Attempt = intent is Recklessly || intent is Negligently; if (isInvalid2Attempt) { AddReasonEntry("generally, no such thing exists as reckless or negligent attempt"); return(false); } return(true); }
public override bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var validIntent = criminalIntent is Knowingly || criminalIntent is GeneralIntent; if (!validIntent) { AddReasonEntry($"{nameof(FailureToDisperse)} requires intent " + $"of {nameof(Knowingly)}, {nameof(GeneralIntent)}"); return(false); } return(true); }
public virtual bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var validIntend = criminalIntent is Knowingly || criminalIntent is GeneralIntent; if (!validIntend) { AddReasonEntry($"{nameof(CriminalTrespass)} requires intent " + $"{nameof(Knowingly)}, {nameof(GeneralIntent)}"); return(false); } return(true); }
public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var isValid = criminalIntent is StrictLiability || criminalIntent is Purposely || criminalIntent is Knowingly || criminalIntent is GeneralIntent; if (!isValid) { AddReasonEntry($"{nameof(Prostitution)} requires intent of " + $"{nameof(StrictLiability)}, {nameof(Purposely)}, " + $"{nameof(Knowingly)} or {nameof(GeneralIntent)}"); return(false); } return(true); }
public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var isvalid = criminalIntent is Purposely || criminalIntent is SpecificIntent; if (!isvalid) { AddReasonEntry($"{nameof(Loitering)} requires intent " + $"of {nameof(Recklessly)}, {nameof(Purposely)}, " + $"{nameof(SpecificIntent)}"); return(false); } return(true); }
public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var intent = (criminalIntent as DeadlyWeapon)?.UtilizedWith ?? criminalIntent; var isValidIntent = intent is Purposely || intent is SpecificIntent; if (!isValidIntent) { AddReasonEntry($"{nameof(ThreatenedBattery)} requires intent " + $"of {nameof(Purposely)} or {nameof(SpecificIntent)}"); return(false); } return(true); }
public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var isValid = criminalIntent is Purposely || criminalIntent is SpecificIntent || criminalIntent is Knowingly || criminalIntent is GeneralIntent; if (!isValid) { AddReasonEntry($"{nameof(Bribery)} requires intent of {nameof(Purposely)}, " + $"{nameof(SpecificIntent)}, {nameof(Knowingly)}, {nameof(GeneralIntent)}"); return(false); } return(true); }
public virtual bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var adequateProvocation = criminalIntent as AdequateProvocation; var defendant = this.Defendant(persons); var title = defendant.GetLegalPersonTypeName(); if (adequateProvocation != null && defendant != null && adequateProvocation.IsValid(defendant)) { AddReasonEntry($"{title} {defendant.Name}, is criminal intent {nameof(AdequateProvocation)} " + "which is only applicable to manslaughter"); return(false); } return(true); }
public override bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var adequateProvation = criminalIntent as AdequateProvocation; var defendant = this.Defendant(persons); if (adequateProvation != null && defendant != null && adequateProvation.IsValid(defendant)) { return(true); } AddReasonEntry($"{nameof(ManslaughterVoluntary)} is a redux of {nameof(Murder)} " + $"by means of {nameof(AdequateProvocation)} intent, " + $"which {criminalIntent?.GetType().Name} is not"); return(false); }
public virtual bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var validIntent = criminalIntent is Recklessly || criminalIntent is Purposely || criminalIntent is SpecificIntent; if (!validIntent) { AddReasonEntry($"{nameof(DisorderlyConduct)} requires intent " + $"of {nameof(Recklessly)}, {nameof(Purposely)}, " + $"{nameof(SpecificIntent)}"); return(false); } return(true); }
public override bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var isRequiredIntent = criminalIntent is Negligently || criminalIntent is Recklessly || criminalIntent is GeneralIntent; if (!isRequiredIntent) { AddReasonEntry($"{nameof(ManslaughterInvoluntary)} is expected {nameof(Recklessly)} " + $"or {nameof(Negligently)} intent, not {criminalIntent?.GetType().Name}"); return(false); } return(true); }
public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var validIntent = _information is MilitaryActivities ? new[] { typeof(Purposely), typeof(SpecificIntent) } : new[] { typeof(Purposely), typeof(SpecificIntent), typeof(Knowingly), typeof(GeneralIntent) }; if (validIntent.All(i => criminalIntent.GetType() != i)) { var nms = string.Join(", ", validIntent.Select(t => t.Name)); AddReasonEntry($"{nameof(Espionage)} for {_information.GetCategory()} requires intent {nms}"); return(false); } return(true); }
public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var validIntent = new[] { typeof(SpecificIntent), typeof(Purposely), typeof(GeneralIntent), typeof(Knowingly), typeof(Negligently) }; if (validIntent.All(t => t != criminalIntent.GetType())) { var nms = string.Join(", ", validIntent.Select(t => t.Name)); AddReasonEntry($"{nameof(Sabotage)} requires intent of {nms}"); return(false); } return(true); }
public override bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var intent = (criminalIntent as DeadlyWeapon)?.UtilizedWith ?? criminalIntent; var isRequiredIntent = intent is MaliceAforethought || intent is SpecificIntent; if (!isRequiredIntent) { AddReasonEntry("first-degree means rationally, purposefully, taking " + "steps that culminate in victim's death"); return(false); } return(base.CompareTo(criminalIntent, persons)); }
public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var validIntend = criminalIntent is Knowingly || criminalIntent is GeneralIntent; if (!validIntend) { AddReasonEntry($"{nameof(CriminalTrespass)} requires intent " + $"{ nameof(Knowingly)}, { nameof(GeneralIntent)}"); return(false); } if (PropertyOwnerIsSubjectPerson(persons) && IsBurned(SubjectProperty)) { return(false); } return(true); }
public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var defendant = persons.Defendant(); if (defendant == null) { return(false); } var isByViolence = IsByViolence(defendant); var validIntent = isByViolence ? new[] { typeof(Purposely), typeof(SpecificIntent) } : new[] { typeof(Knowingly), typeof(GeneralIntent) }; //Cramer v. U.S., 1945, different intent based on which predicate if (validIntent.All(i => criminalIntent.GetType() != i)) { var nms = string.Join(", ", validIntent.Select(t => t.Name)); AddReasonEntry($"{nameof(Treason)} for {nameof(IsByViolence)} as {isByViolence} requires intent {nms}"); return(false); } return(true); }
public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { var defendant = persons.Defendant(); if (defendant == null) { return(false); } //Yates v. U.S., 354 U.S. 298 (1957), different intent based on which predicate var inWrittenForm = IsInWrittenForm(defendant); var validIntent = inWrittenForm ? new[] { typeof(Purposely), typeof(SpecificIntent) } : new[] { typeof(Knowingly), typeof(GeneralIntent) }; if (validIntent.All(i => criminalIntent.GetType() != i)) { var nms = string.Join(", ", validIntent.Select(t => t.Name)); AddReasonEntry($"{nameof(Sedition)} for {nameof(IsInWrittenForm)} as {inWrittenForm} requires intent {nms}"); return(false); } return(true); }
public Accomplice(IMensRea intent) : base(intent) { }
public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { return(criminalIntent != null); }
public override bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { return(true); }
public bool CompareTo(IMensRea criminalIntent, params ILegalPerson[] persons) { return(Conspiracy?.CompareTo(criminalIntent) ?? false); }
public DeadlyWeapon(IMensRea utilizedWith = null) { WeaponName = nameof(DeadlyWeapon); UtilizedWith = utilizedWith ?? new SpecificIntent(); }
public DeadlyWeapon(string name, IMensRea utilizedWith = null) { WeaponName = name; UtilizedWith = utilizedWith ?? new SpecificIntent(); }
public Transferred(IMensRea intent) { _intent = intent; }