public static RecordReport MergeReport ( [NotNull] RecordReport first, [NotNull] RecordReport second ) { RecordReport result = new RecordReport { Defects = first.Defects.Concat(second.Defects) .ToList(), Description = first.Description, Gold = first.Gold + second.Gold - 1000, Mfn = first.Mfn, Index = first.Index }; return(result); }
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); }