using System.Collections.Generic;
using System.Transactions;
public static class Program
public static void Main()
var repository = new Repository();
var businessLogic = new BL(repository);
using (var tx = new TransactionScope())
private readonly Repository _repositiry;
public BL(Repository repositiry)
_repositiry = repositiry;
foreach (var item in data)
private void ProcessInternal(string item)
private List<string> GetData()
return new List<string> { "hello", "привет", "ciao" };
internal class Repository
public void Save(string s)
Console.WriteLine("insert into table values ({0})", s);