public static void GINApproved(Guid truckId) { IGINProcess ginProcess = GetGINProcess(true); SqlTransaction transaction = null; try { transaction = ginProcess.GINApproved(truckId); NotifyGIN(truckId); CompleteWorkflowTask(ginProcess.GINProcessInformation.Trucks[0].TransactionId); if (ginProcess.GINProcessInformation.RemainingWeight <= 0) { IPickupNotice pun = new PickupNoticeBLL(ginProcess.GINProcessInformation.PickupNoticeId); PickupNoticeInformation puni = new PickupNoticeInformation(); puni.Copy(pun.PickupNoticeInformation); pun.GINIssued(transaction); UpdatePUNStatus( pun.PickupNoticeInformation.PickupNoticeId, pun.LookupSource.GetLookup("Status")[pun.PickupNoticeInformation.Status]); } transaction.Commit(); } catch (Exception ex) { try { if (transaction != null) { transaction.Rollback(); } } catch (Exception ex2) { throw ex2; } throw ex; } }
public static void AbortPun() { IGINProcess ginProcess = GetGINProcess(true); IPickupNotice pun = new PickupNoticeBLL(ginProcess.GINProcessInformation.PickupNoticeId); PickupNoticeInformation puni = new PickupNoticeInformation(); SqlTransaction transaction = null; try { puni.Copy(pun.PickupNoticeInformation); transaction = pun.Aborted(); CompleteWorkflowTask(ginProcess.GINProcessInformation.TransactionId); transaction.Commit(); AuditTrailWrapper punAudit = new AuditTrailWrapper(AuditTrailWrapper.PUNAbortion, new object[][] { new object[] { puni, pun.PickupNoticeInformation } }, "PUN Abortion"); if (!punAudit.Save()) { throw new Exception("Failed to save audit trail!"); } UpdatePUNStatus( pun.PickupNoticeInformation.PickupNoticeId, pun.LookupSource.GetLookup("Status")[pun.PickupNoticeInformation.Status]); } catch (Exception ex) { try { if (transaction != null) { transaction.Rollback(); } } catch (Exception ex2) { throw ex2; } throw ex; } }