Пример #1
0
        public static void CompleteAvailabilityVerification()
        {
            IGINProcess    ginProcess  = GetGINProcess(true);
            SqlTransaction transaction = null;

            try
            {
                GINProcessInfo originalGinProcessInfo = new GINProcessInfo();
                originalGinProcessInfo.Copy(ginProcess.GINProcessInformation);
                transaction = ginProcess.CompleteAvailabilityVerification();
                //AuditTrailWrapper auditTrail = new AuditTrailWrapper("Inventory Verification",
                //    new object[][]{new object[]{originalGinProcessInfo, ginProcess.GINProcessInformation}});
                //if (!auditTrail.Save())
                //    throw new Exception("Failed to save audit trail!");
                CompleteWorkflowTask(ginProcess.GINProcessInformation.TransactionId);
                transaction.Commit();
            }
            catch (Exception ex)
            {
                try
                {
                    if (transaction != null)
                    {
                        transaction.Rollback();
                    }
                }
                catch (Exception ex2)
                {
                    throw ex2;
                }
                throw ex;
            }
        }
Пример #2
0
        public static bool PostGINEditRequest(IGINProcess ginProcess, Guid truckId)//, AuditTrailWrapper auditTrail)
        {
            GINProcessInfo ginProcessInformation = ginProcess.GINProcessInformation;
            var            editedTruck           = (from truck in ginProcessInformation.Trucks
                                                    where truck.TruckId == truckId
                                                    select truck).FirstOrDefault();

            if (editedTruck.GIN.Status == (int)GINStatusType.GINApproved)
            {
                StringBuilder sb     = new StringBuilder();
                TextWriter    writer = new StringWriter(sb);
                XmlSerializer s      = new XmlSerializer(typeof(GINProcessInfo));
                s.Serialize(writer, ginProcessInformation);
                GINEditingRequest request = new GINEditingRequest()
                {
                    DeliveryReceivedId = ginProcessInformation.GINProcessId,
                    TargetPage         = HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath.Substring(2),
                    ProposedChange     = sb.ToString(),
                    OldTransactionId   = editedTruck.TransactionId
                };
                SqlTransaction transaction = null;
                try
                {
                    request.TransactionId = StartWorkflowTask(new Guid("18FC27D4-5905-4A21-84CC-719601FBAC70"));
                    transaction           = ginProcess.SaveGINEditingRequest(request);
                    transaction.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    if (transaction != null)
                    {
                        transaction.Rollback();
                    }
                    if (request != null)
                    {
                        RemoveWorkflowTask(request.TransactionId);
                    }
                    throw ex;
                }
            }
            else
            {
                return(false);
            }
        }
Пример #3
0
        public static void ApproveGINEditRequest()
        {
            IGINProcess       originalGinProcess = GetGINProcess(true);
            PageDataTransfer  transferedData     = new PageDataTransfer(HttpContext.Current.Request.Path);
            GINEditingRequest request            = (GINEditingRequest)transferedData.GetTransferedData("GINEditingRequest");
            XmlSerializer     s = new XmlSerializer(typeof(GINProcessInfo));
            GINProcessInfo    ginProcessInformation = (GINProcessInfo)s.Deserialize(new StringReader(request.ProposedChange));

            ginProcessInformation.Trucks[0].TransactionId = request.TransactionId;
            ginProcessInformation.Trucks[0].Status        = (int)GINStatusType.GINGenerated;
            IGINProcess ginProcess = new GINAuditController();

            ginProcess.GINProcessInformation = ginProcessInformation;
            SqlTransaction transaction = null;

            try
            {
                switch (request.TargetPage)
                {
                case "EditTruckInformation.aspx":
                    transaction = ginProcess.SaveTruckInformation(ginProcessInformation.Trucks[0].TruckId);
                    break;

                case "EditTruckLoading.aspx":
                    transaction = ginProcess.SaveLoading(ginProcessInformation.Trucks[0].TruckId);
                    break;

                case "EditTruckScaling.aspx":
                    transaction = ginProcess.SaveScaling(ginProcessInformation.Trucks[0].TruckId);
                    break;
                }
                transaction.Commit();
                CompleteWorkflowTask(request.TransactionId);
            }
            catch (Exception ex)
            {
                if (transaction != null)
                {
                    transaction.Rollback();
                }
                throw ex;
            }
        }
Пример #4
0
        public static void NotifyGIN(Guid truckId)
        {
            IGINProcess    ginProcess     = GetGINProcess(true);
            ILookupSource  lookup         = ginProcess.LookupSource;
            GINProcessInfo ginProcessInfo = ginProcess.GINProcessInformation;
            GINTruckInfo   truck          = (from trk in ginProcessInfo.Trucks where trk.TruckId == truckId select trk).Single();

            ECXCD.WR wr = new WarehouseApplication.ECXCD.WR();
            wr.SaveGIN(
                truck.GIN.GINId,
                truck.GIN.GINNo,
                ginProcessInfo.PickupNoticeId,
                Convert.ToDouble(truck.GIN.GrossWeight),
                Convert.ToDouble(truck.GIN.NetWeight),
                Convert.ToDouble(truck.GIN.Quantity),
                truck.GIN.DateIssued,
                truck.GIN.SignedByClient,
                truck.GIN.DateApproved,
                truck.GIN.ApprovedBy,
                truck.Load.Remark + Environment.NewLine + truck.Weight.Remark,
                lookup.GetLookup("GINStatus")[truck.GIN.Status]);
        }
Пример #5
0
 public void ValidateGINProcess(GINProcessInfo ginProcess)
 {
     currentGINProcess.ValidateGINProcess(ginProcess);
 }