Example #1
0
 private static WaitCallback JobEntity(TransactionOptions options)
 {
     return state =>
         {
             try
             {
                 using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew, options))
                 {
                     using (var context = new ProjectTemplate_DevEntities())
                     {
                         var element = context.Element.First(d => d.Id == "d0530ea7-639f-4d5e-91fb-1a4fed1debfe");
                         var intInternalName = Int32.Parse(element.InternalName);
                         PrintMessage("ReadValue=" + intInternalName.ToString());
                         element.InternalName = (intInternalName + 1).ToString();
                         PrintMessage("Incrementing to" + element.InternalName);
                         Thread.Sleep(2000);
                         context.SaveChanges(); // Save changes to DB
                         PrintMessage("Saving");
                         Thread.Sleep(2000);
                     }
                     scope.Complete(); // Commit transaction
                     PrintMessage("Commit");
                 }
             }
             catch (Exception e)
             {
                 PrintMessage( e.Message);
             }finally
             {
                 ((ManualResetEvent)state).Set();
             }
         };
 }
Example #2
0
 private static WaitCallback JobEntity(TransactionOptions options)
 {
     return(state =>
     {
         try
         {
             using (var scope = new TransactionScope(TransactionScopeOption.RequiresNew, options))
             {
                 using (var context = new ProjectTemplate_DevEntities())
                 {
                     var element = context.Element.First(d => d.Id == "d0530ea7-639f-4d5e-91fb-1a4fed1debfe");
                     var intInternalName = Int32.Parse(element.InternalName);
                     PrintMessage("ReadValue=" + intInternalName.ToString());
                     element.InternalName = (intInternalName + 1).ToString();
                     PrintMessage("Incrementing to" + element.InternalName);
                     Thread.Sleep(2000);
                     context.SaveChanges();     // Save changes to DB
                     PrintMessage("Saving");
                     Thread.Sleep(2000);
                 }
                 scope.Complete();     // Commit transaction
                 PrintMessage("Commit");
             }
         }
         catch (Exception e)
         {
             PrintMessage(e.Message);
         }finally
         {
             ((ManualResetEvent)state).Set();
         }
     });
 }