/// <summary> /// Begin the record checking. /// </summary> protected void BeginCheck ( [NotNull] RuleContext context ) { _context = context; _report = new RuleReport(); }
public RecordReport CheckRecord ( [NotNull] RuleContext context ) { RecordReport result = new RecordReport { Description = context.Client.FormatRecord ( context.BriefFormat, context.Record.Mfn ), Index = context.Record.FM("903"), Mfn = context.Record.Mfn }; RuleUtility.RenumberFields ( context.Record ); result.Gold = 1000; int bonus = 0; foreach (IrbisRule rule in Rules) { RuleReport oneReport = rule.CheckRecord(context); result.Defects.AddRange(oneReport.Defects); result.Gold -= oneReport.Damage; bonus += oneReport.Bonus; } if (result.Gold >= 900) { result.Gold += bonus; } return(result); }