private void UpdateRow(object param) { GFXDClientConnection conn = null; Product product = (Product)ObjectFactory.Create(ObjectType.Product); product.ProductId = Convert.ToInt64(param); try { conn = new GFXDClientConnection(ConnectionString); conn.Open(); conn.BeginGFXDTransaction(); DbController dbc = new DbController(conn); dbc.UpdateProduct(product); Product updatedProd = dbc.GetProduct(product.ProductId); conn.Commit(); if (!product.Validate(updatedProd)) { Fail("Product update validation failed."); } } catch (GFXDException se) { if (!se.State.Equals("X0Z02")) { Fail(se); } conn.Rollback(); } catch (Exception e) { Fail(e); conn.Rollback(); } }
private void UpdateRow(object param) { GFXDClientConnection conn = null; long customerId = Convert.ToInt64(param); try { conn = new GFXDClientConnection(ConnectionString); conn.Open(); conn.AutoCommit = false; DbController dbc = new DbController(conn); Log(String.Format("Begin customer update transaction. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); conn.BeginGFXDTransaction(System.Data.IsolationLevel.ReadCommitted); Customer newCustData = (Customer)ObjectFactory.Create(ObjectType.Customer); newCustData.CustomerId = customerId; try { Log(String.Format("Try retrieving customer record. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); Customer currCustData = dbc.GetCustomer(customerId); if (currCustData != null) { Log(String.Format("Successfully retrieved customer record. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); } else { Log(String.Format("Failed to customer record. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); } } catch (Exception e) { Log(String.Format("Failed to retrieve customer record. TID: [{0}]. {1}", Thread.CurrentThread.ManagedThreadId, DbHelper.GetExceptionDetails(e, new StringBuilder()).ToString())); } try { Log(String.Format("Try updating customer record. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); if (dbc.UpdateCustomer(newCustData) >= 1) { if (updateStarted == true) { Fail("Expected conflict exception when attempt to update the same record"); conn.Rollback(); return; } else { updateStarted = true; Log(String.Format("Successfully updated customer record. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); } } else { Log(String.Format("Failed to update customer record. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); } } catch (GFXDException e) { if (e.State.Equals("X0Z02")) { Log(String.Format("Update conflict exception occurred as expected. TID: [{0}]. {1}", Thread.CurrentThread.ManagedThreadId, DbHelper.GetExceptionDetails(e, new StringBuilder()).ToString())); conn.Rollback(); return; } else { Fail("Expected conflict exception when attempt to update the same record"); conn.Rollback(); return; } } try { Log(String.Format("Try committing customer update transaction. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); conn.Commit(); Log(String.Format("Successfully committed customer update transaction. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); } catch (Exception e) { conn.Rollback(); Log(String.Format("Failed to commit customer update transaction. TID: [{0}]. {1}", Thread.CurrentThread.ManagedThreadId, DbHelper.GetExceptionDetails(e, new StringBuilder()).ToString())); } Customer updatedCustData = dbc.GetCustomer(newCustData.CustomerId); if (!newCustData.Validate(updatedCustData)) { Fail(String.Format("Customer update validation failed [{0}]", Thread.CurrentThread.ManagedThreadId)); } } catch (Exception e) { conn.Rollback(); Log(String.Format("Rolled back customer update transaction. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); Fail(e); } }
private void UpdateRow(object param) { GFXDClientConnection conn = null; Product product = (Product)ObjectFactory.Create(ObjectType.Product); product.ProductId = Convert.ToInt64(param); try { conn = new GFXDClientConnection(ConnectionString); conn.Open(); conn.BeginGFXDTransaction(); DbController dbc = new DbController(conn); dbc.UpdateProduct(product); Product updatedProd = dbc.GetProduct(product.ProductId); conn.Commit(); if (!product.Validate(updatedProd)) Fail("Product update validation failed."); } catch(GFXDException se) { if(!se.State.Equals("X0Z02")) Fail(se); conn.Rollback(); } catch (Exception e) { Fail(e); conn.Rollback(); } }
private void UpdateRow(object param) { GFXDClientConnection conn = null; long customerId = Convert.ToInt64(param); try { conn = new GFXDClientConnection(ConnectionString); conn.Open(); conn.AutoCommit = false; DbController dbc = new DbController(conn); Log(String.Format("Begin customer update transaction. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); conn.BeginGFXDTransaction(System.Data.IsolationLevel.ReadCommitted); Customer newCustData = (Customer)ObjectFactory.Create(ObjectType.Customer); newCustData.CustomerId = customerId; try { Log(String.Format("Try retrieving customer record. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); Customer currCustData = dbc.GetCustomer(customerId); if(currCustData != null) Log(String.Format("Successfully retrieved customer record. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); else Log(String.Format("Failed to customer record. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); } catch(Exception e) { Log(String.Format("Failed to retrieve customer record. TID: [{0}]. {1}", Thread.CurrentThread.ManagedThreadId, DbHelper.GetExceptionDetails(e, new StringBuilder()).ToString())); } try { Log(String.Format("Try updating customer record. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); if (dbc.UpdateCustomer(newCustData) >= 1) { if (updateStarted == true) { Fail("Expected conflict exception when attempt to update the same record"); conn.Rollback(); return; } else { updateStarted = true; Log(String.Format("Successfully updated customer record. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); } } else Log(String.Format("Failed to update customer record. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); } catch(GFXDException e) { if (e.State.Equals("X0Z02")) { Log(String.Format("Update conflict exception occurred as expected. TID: [{0}]. {1}", Thread.CurrentThread.ManagedThreadId, DbHelper.GetExceptionDetails(e, new StringBuilder()).ToString())); conn.Rollback(); return; } else { Fail("Expected conflict exception when attempt to update the same record"); conn.Rollback(); return; } } try { Log(String.Format("Try committing customer update transaction. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); conn.Commit(); Log(String.Format("Successfully committed customer update transaction. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); } catch (Exception e) { conn.Rollback(); Log(String.Format("Failed to commit customer update transaction. TID: [{0}]. {1}", Thread.CurrentThread.ManagedThreadId, DbHelper.GetExceptionDetails(e, new StringBuilder()).ToString())); } Customer updatedCustData = dbc.GetCustomer(newCustData.CustomerId); if (!newCustData.Validate(updatedCustData)) Fail(String.Format("Customer update validation failed [{0}]", Thread.CurrentThread.ManagedThreadId)); } catch (Exception e) { conn.Rollback(); Log(String.Format("Rolled back customer update transaction. TID: [{0}]", Thread.CurrentThread.ManagedThreadId)); Fail(e); } }