Exemple #1
0
 public virtual void SaveRetry(Invoice invoice)
 {
     // fails first time
     if(!_isRetry)
     {
         _isRetry = true;
         throw new DataException();
     }
 }
Exemple #2
0
        static void Main(string[] args)
        {
            var proxyGenerator = new ProxyGenerator();
            var invoiceService = proxyGenerator
                .CreateClassProxy<InvoiceService>(
                    new TransactionWithRetries(3));

            var invoice = new Invoice
            {
                InvoiceId = Guid.NewGuid(),
                InvoiceDate = DateTime.Now,
                Items = new List<string> {
                    "Item1","Item2","Item3"
                }
            };

            invoiceService.Save(invoice);
            //invoiceService.SaveRetry(invoice);
            //invoiceService.SaveFail(invoice);
            Console.WriteLine("Save successful");
        }
Exemple #3
0
 public virtual void SaveFail(Invoice invoice)
 {
     // always fails
     throw new DataException();
 }
Exemple #4
0
 public virtual void Save(Invoice invoice)
 {
     // always succeeds
 }