コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        public PickupNoticeBLL(Guid pickupNoticeId)
        {
            Dictionary <string, object> contextParameters = new Dictionary <string, object>();

            contextParameters.Add("PickupNoticeId", pickupNoticeId);
            try
            {
                XmlSerializer s        = new XmlSerializer(typeof(PickupNoticeInformation));
                XmlDocument   document = PersistenceTransactionFactory.CreatePersistenceTransaction().Open(
                    "spOpenPickupNotice", contextParameters);
                StringBuilder sb     = new StringBuilder();
                TextWriter    writer = new StringWriter(sb);
                document.Save(writer);

                punInformation = (PickupNoticeInformation)s.Deserialize(new StringReader(sb.ToString()));
            }
            catch (Exception ex)
            {
                throw new Exception("The database failed to load the requested Pickup Notice ", ex);
            }
            lookupSource = new PickupNoticeLookupSource(punInformation);
        }
コード例 #4
0
 public PickupNoticeLookupSource()
 {
     punInformation = null;
 }
コード例 #5
0
 public PickupNoticeLookupSource(PickupNoticeInformation punInformation)
 {
     this.punInformation = punInformation;
 }