Пример #1
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);
            }
        }
Пример #2
0
 public System.Data.SqlClient.SqlTransaction SaveGINEditingRequest(GINEditingRequest request)
 {
     return(currentGINProcess.SaveGINEditingRequest(request));
 }