public void ChangeAmountPayed(int id, decimal amountPayed) { rules.MustBe(id, DossierStates.Winner, DossierStates.HasCoefficients); var dossier = dossierRepo.Get(id); using (var scope = new TransactionScope()) { dossierRepo.UpdateWhatWhere(new { AmountPayed = amountPayed }, new { id }); var fpi = fpiRepo.GetWhere(new { id = dossier.FpiId }).Single(); fpiService.Rerank(fpi.Id); scope.Complete(); } }