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; } }
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); } }
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; } }
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]); }
public void ValidateGINProcess(GINProcessInfo ginProcess) { currentGINProcess.ValidateGINProcess(ginProcess); }