protected void dgUnattachedDeHire_ItemDataBound(object sender, DataGridItemEventArgs e) { m_assignedPodCount = (int)ViewState["AssignedPODCount"]; if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Orchestrator.Facade.POD facPOD = new Orchestrator.Facade.POD(); Orchestrator.Facade.Form facForm = new Orchestrator.Facade.Form(); int orderID = int.Parse(e.Item.Cells[0].Text); int scannedFormId = -1; int dehireReceiptId = int.Parse(e.Item.Cells[1].Text); string receiptNumber = e.Item.Cells[2].Text; Entities.Scan dehireReceiptScan = null; if (int.TryParse(e.Item.Cells[3].Text, out scannedFormId) && scannedFormId > 0) { dehireReceiptScan = facForm.GetForScannedFormId(scannedFormId); } if (dehireReceiptScan == null) { string date = e.Item.Cells[5].Text; string truncatedDate = date.Substring(0, date.LastIndexOf(' ')); string urlEncodedDate = Server.UrlEncode(truncatedDate); ((CheckBox)e.Item.FindControl("chkUnassignPOD")).Visible = false; ((HyperLink)e.Item.FindControl("lnkPODScanning")).Text = "Scan Dehire Receipt"; ((HyperLink)e.Item.FindControl("lnkPODScanning")).NavigateUrl = @"javascript:OpenDehireWindow(" + JobId + "," + orderID + "," + dehireReceiptId + ",'" + receiptNumber + "');"; } else { if (dehireReceiptScan.ScannedFormId > 0) { ((HyperLink)e.Item.FindControl("lnkPODView")).Visible = true; ((HyperLink)e.Item.FindControl("lnkPODView")).Target = "_blank"; ((HyperLink)e.Item.FindControl("lnkPODView")).NavigateUrl = dehireReceiptScan.ScannedFormPDF.Trim(); } ((RdoBtnGrouper)e.Item.FindControl("rbgCollectionDrop")).Visible = false; ((HyperLink)e.Item.FindControl("lnkPODScanning")).Text = "Dehire Receipt Number " + receiptNumber; ((HyperLink)e.Item.FindControl("lnkPODScanning")).NavigateUrl = @"javascript:OpenDehireWindowForEdit(" + dehireReceiptScan.ScannedFormId.ToString() + "," + JobId + "," + orderID + "," + dehireReceiptId + ",'" + receiptNumber + "');"; m_assignedPodCount++; } } ViewState["AssignedPODCount"] = m_assignedPodCount; }
protected void dgCollectionDrop_ItemDataBound(object sender, DataGridItemEventArgs e) { m_assignedPodCount = (int)ViewState["AssignedPODCount"]; if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { Orchestrator.Facade.POD facPOD = new Orchestrator.Facade.POD(); int collectDropId = int.Parse(e.Item.Cells[0].Text); DataSet dsPOD = facPOD.GetForCollectDropID(collectDropId); Entities.POD itemPOD = new Entities.POD(); string ticketNo = null; if (dsPOD.Tables[0].Rows.Count > 0) { itemPOD = facPOD.GetForPODId(Convert.ToInt32(dsPOD.Tables[0].Rows[0]["PODId"])); ticketNo = (string)dsPOD.Tables[0].Rows[0]["TicketNo"]; } if (ticketNo == null) { ((CheckBox)e.Item.FindControl("chkUnassignPOD")).Visible = false; ((HyperLink)e.Item.FindControl("lnkPODScanning")).Text = "Scan POD"; ((HyperLink)e.Item.FindControl("lnkPODScanning")).NavigateUrl = @"javascript:OpenPODWindow(" + JobId + "," + collectDropId + ");"; } else { if (itemPOD != null && itemPOD.ScannedFormId > 0) { ((HyperLink)e.Item.FindControl("lnkPODView")).Visible = true; ((HyperLink)e.Item.FindControl("lnkPODView")).Target = "_blank"; ((HyperLink)e.Item.FindControl("lnkPODView")).NavigateUrl = itemPOD.ScannedFormPDF.Trim(); } ((RdoBtnGrouper)e.Item.FindControl("rbgCollectionDrop")).Visible = false; ((HyperLink)e.Item.FindControl("lnkPODScanning")).Text = "Ticket number " + ticketNo; ((HyperLink)e.Item.FindControl("lnkPODScanning")).NavigateUrl = @"javascript:OpenPODWindowForEdit(" + ((int)dsPOD.Tables[0].Rows[0]["ScannedFormID"]).ToString() + "," + JobId + ");"; m_assignedPodCount++; } } ViewState["AssignedPODCount"] = m_assignedPodCount; }
//-------------------------------------------------------------------------- private void Initialise() { if (this.ScannedFormId > 0) { Facade.IPOD facPOD = new Facade.POD(); this.Pod = facPOD.GetForScannedFormId(this.ScannedFormId); if (Orchestrator.Globals.Configuration.AutoPopulateScanTicketNumber) { this.txtTicketNo.Text = this.Pod.TicketNo; } this.dteSignatureDate.SelectedDate = this.Pod.SignatureDate; this.dgAdditionalReferences.DataSource = this.Pod.AdditionalReferences; this.dgAdditionalReferences.DataBind(); } else { Facade.IPOD facPod = new Orchestrator.Facade.POD(); DataSet dsJobDetails = facPod.GetJobDetails(this.JobId); foreach (DataRow row in dsJobDetails.Tables["CollectionDrop"].Rows) { if ((int)row["CollectDropId"] == this.CollectDropId) { if (Orchestrator.Globals.Configuration.AutoPopulateScanTicketNumber) { this.txtTicketNo.Text = row["ClientsCustomerReference"].ToString(); } this.dteSignatureDate.SelectedDate = (DateTime)row["CollectDropDateTime"]; break; } } } ((WizardMasterPage)this.Master).WizardTitle = "Document Wizard"; }
private void DisplayOrder(Orchestrator.Entities.Order order) { Orchestrator.Facade.IOrganisation facOrg = new Orchestrator.Facade.Organisation(); Orchestrator.Facade.IPoint facPoint = new Orchestrator.Facade.Point(); Orchestrator.Facade.IReferenceData facRefData = new Orchestrator.Facade.ReferenceData(); Orchestrator.Facade.IPOD facPOD = new Orchestrator.Facade.POD(); Orchestrator.Facade.IOrder facOrd = new Orchestrator.Facade.Order(); order.ClientInvoiceID = facOrd.ClientInvoiceID(OrderID); Orchestrator.Facade.Organisation facOrgD = new Orchestrator.Facade.Organisation(); Orchestrator.Entities.Point collectionPoint = facPoint.GetPointForPointId(order.CollectionPointID); Orchestrator.Entities.Point deliveryPoint = facPoint.GetPointForPointId(order.DeliveryPointID); Orchestrator.Entities.POD scannedPOD = facPOD.GetForOrderID(order.OrderID); Orchestrator.Entities.Scan scannedBookingForm = null; CurrentCulture = new CultureInfo(order.LCID); ExchangeRateID = order.ExchangeRateID; lblOrderHeading.Text = string.Format("Order {0}", order.OrderID); this.lblOrderStatus.Text = order.OrderStatus.ToString(); if (((Entities.CustomPrincipal) this.Page.User).IsInRole(((int)eUserRole.SubConPortal).ToString())) { this.btnPIL.Visible = false; this.btnCreateDeliveryNote.Visible = false; this.btnCreateDeliveryNote2.Visible = false; this.btnPIL2.Visible = false; plcBooking.Visible = false; plcPOD.Visible = false; // get cost for subby and display as rate. (The rate the subby is being paid) Facade.IJobSubContractor jobSubContractor = new Facade.Job(); if (order != null && order.JobSubContractID > 0) { Entities.JobSubContractor js = jobSubContractor.GetSubContractorForJobSubContractId(order.JobSubContractID); CultureInfo subbyCulture = new CultureInfo(js.LCID); if (Orchestrator.Globals.Configuration.MultiCurrency) { this.lblRate.Text = string.Format(rateTemplate, js.ForeignRate.ToString("C", subbyCulture), js.Rate.ToString("C")); } else { this.lblRate.Text = js.Rate.ToString("C", subbyCulture); } } this.tblSubbyRate.Visible = true; this.trRate.Visible = false; this.trInvoiceId.Visible = false; } else { this.tblSubbyRate.Visible = false; //If the order has a scanned Booking Form get it so that //a link to it can be displayed if (order.BookingFormScannedFormId != null) { Orchestrator.Facade.Form facBF = new Orchestrator.Facade.Form(); scannedBookingForm = facBF.GetForScannedFormId(order.BookingFormScannedFormId.Value); } //this.lblOrderID.Text = order.OrderID.ToString(); this.lblOrderStatus.Text = order.OrderStatus.ToString().Replace("_", " "); if (scannedBookingForm != null) { hlBookingFormLink.Visible = true; hlBookingFormLink.NavigateUrl = scannedBookingForm.ScannedFormPDF.Trim(); aScanBookingForm.InnerHtml = "| Re-Scan"; aScanBookingForm.HRef = @"javascript:ReDoBookingForm(" + scannedBookingForm.ScannedFormId + "," + order.OrderID.ToString() + ");"; } else { hlBookingFormLink.Visible = false; aScanBookingForm.InnerHtml = "Scan"; aScanBookingForm.HRef = @"javascript:NewBookingForm(" + order.OrderID.ToString() + ");"; } plcPOD.Visible = false; if (Orchestrator.Globals.Configuration.MultiCurrency) { this.lblRate.Text = string.Format(rateTemplate, order.ForeignRate.ToString("C", CurrentCulture), order.Rate.ToString("C")); } else { this.lblRate.Text = order.ForeignRate.ToString("C", CurrentCulture); } trRate.Visible = !order.IsInGroup; if (order.ClientInvoiceID <= 0) { lblInvoiceNumber.Text = "None Assigned"; } else { lblInvoiceNumber.Text = order.ClientInvoiceID.ToString(); string PDFLink = order.PDFLocation.ToString(); lblInvoiceNumber.NavigateUrl = Orchestrator.Globals.Configuration.WebServer + PDFLink; } } this.lblLoadNumber.Text = order.CustomerOrderNumber; this.lblDeliveryOrderNo.Text = order.DeliveryOrderNumber; this.lblCollectionPoint.Text = collectionPoint.Address.ToString(); this.lblDeliverTo.Text = deliveryPoint.Address.ToString(); this.lblCollectDateTime.Text = (order.CollectionIsAnytime == true ? (order.CollectionDateTime.ToString("dd/MM/yy") + " AnyTime") : (order.CollectionDateTime.ToString("dd/MM/yy HH:mm"))); this.lblDeliveryDateTime.Text = (order.DeliveryIsAnytime == true ? (order.DeliveryDateTime.ToString("dd/MM/yy") + " AnyTime") : (order.DeliveryDateTime.ToString("dd/MM/yy HH:mm"))) + order.DeliveryAnnotation; this.lblPallets.Text = order.NoPallets.ToString() + " " + Orchestrator.Facade.PalletType.GetForPalletTypeId(order.PalletTypeID).Description; this.lblPalletSpaces.Text = order.PalletSpaces.ToString("0.##"); this.lblGoodsType.Text = Orchestrator.Facade.GoodsType.GetForGoodsTypeId(order.GoodsTypeID).Description; this.lblWeight.Text = Convert.ToInt32(order.Weight).ToString() + " " + Orchestrator.Facade.WeightType.GetForWeightTypeId(order.WeightTypeID).ShortCode; this.repReferences.DataSource = order.OrderReferences; this.repReferences.DataBind(); this.lblCartons.Text = order.Cases.ToString(); if (order.Notes == null || order.Notes.Length == 0) { this.lblNotes.Text = " "; } else { this.lblNotes.Text = order.Notes; } if (order.CreateDateTime != DateTime.MinValue) { lblCreated.Text = order.CreatedBy + " on " + order.CreateDateTime.ToString("dd/MM/yy HH:mm"); } lblOrderServiceLevel.Text = order.OrderServiceLevel; if (order.BusinessTypeID > 0) { Orchestrator.Facade.IBusinessType facBusinessType = new Orchestrator.Facade.BusinessType(); Orchestrator.Entities.BusinessType businessType = facBusinessType.GetForBusinessTypeID(order.BusinessTypeID); lblBusinessType.Text = businessType.Description; } else { lblBusinessType.Text = "Not Set"; } plcCancellation.Visible = order.OrderStatus == eOrderStatus.Cancelled; if (order.OrderStatus == eOrderStatus.Cancelled) { lblCancellationReason.Text = order.CancellationReason; lblCancelledBy.Text = order.CancelledBy; lblCancelledAt.Text = order.CancelledAt.ToString("dd/MM/yy HH:mm"); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // This property defaults to eFormTypeId.POD if it has not been supplied if (this.FormType == eFormTypeId.POD) { Facade.POD facPod = new Orchestrator.Facade.POD(); Entities.POD pod = null; if (this.OrderID > 0) { pod = facPod.GetForOrderID(OrderID); } if (this.CollectDropID > 0) { pod = facPod.GetPODForCollectDropID(CollectDropID); } if (pod != null) { lblDescription.Text = "There has already been a PDF uploaded for this order, if you upload another one this will overrwite the existing file."; txtTicketNo.Text = pod.TicketNo; dteSignatureDate.SelectedDate = pod.SignatureDate; } else { if (!String.IsNullOrEmpty(Request.QueryString["ticket"])) { txtTicketNo.Text = Request.QueryString["ticket"]; } if (!String.IsNullOrEmpty(Request.QueryString["sigDate"])) { dteSignatureDate.SelectedDate = DateTime.Parse(Request.QueryString["sigDate"]); } } } // This property defaults to eFormTypeId.POD if it has not been supplied else if (this.FormType == eFormTypeId.BookingForm) { Orchestrator.Facade.Form facBF = new Orchestrator.Facade.Form(); Facade.IOrder facOrder = new Orchestrator.Facade.Order(); Entities.Order order = null; Entities.Scan bookingForm = null; txtTicketNo.Visible = false; lblTicketRef.Visible = false; this.btnUpload.CausesValidation = false; dteSignatureDate.Visible = false; lblSignatureDate.Visible = false; if (this.OrderID > 0) { order = facOrder.GetForOrderID(OrderID); } if (order != null && order.BookingFormScannedFormId != null) { bookingForm = facBF.GetForScannedFormId((int)order.BookingFormScannedFormId); } if (bookingForm != null) { lblDescription.Text = "There has already been a booking form uploaded for this order, if you upload another one this will overwrite the existing file."; } else { lblDescription.Text = String.Empty; } } } }
private void CreatePOD(string fileName) { //if (fileName.StartsWith("\\")) // fileName = fileName.Substring(1); Entities.POD pod = null; Facade.POD facPOD = new Orchestrator.Facade.POD(); //Determine the Delivery job and collect drop for this order. if (this.OrderID > 0) { pod = facPOD.GetForOrderID(OrderID); } if (this.CollectDropID > 0) { pod = facPOD.GetPODForCollectDropID(this.CollectDropID); } // Is there already a POD for this collect drop? if (pod == null) { pod = new Orchestrator.Entities.POD(); // get the details we need for the pod record. Facade.Order facOrder = new Orchestrator.Facade.Order(); Facade.ICollectDrop facCollectDrop = new Orchestrator.Facade.CollectDrop(); Dictionary <string, int> orderDetails = null; if (this.OrderID > 0) { orderDetails = facOrder.GetDeliveryDetails(this.OrderID); } else { orderDetails = facCollectDrop.GetDeliveryDetails(this.CollectDropID); } // Do we default to now (upload date) or do we look at the create date of the s pod.CollectDropId = orderDetails["CollectDropID"]; pod.JobId = orderDetails["JobID"]; pod.OrganisationId = orderDetails["CustomerIdentityID"]; pod.FormTypeId = eFormTypeId.POD; } pod.ScannedDateTime = DateTime.Now; pod.SignatureDate = (DateTime)dteSignatureDate.SelectedDate; pod.TicketNo = txtTicketNo.Text; pod.ScannedFormPDF = fileName; try { if (pod.PODId > 0) { facPOD.Update(pod, Page.User.Identity.Name); } else { facPOD.Create(pod, pod.JobId, pod.OrganisationId, pod.CollectDropId, Page.User.Identity.Name); } this.ClientScript.RegisterStartupScript(this.GetType(), "CloseWindow", "<script type=\"text/javascript\">opener.location.href=opener.location.href; window.close();</script>"); } catch (Exception ex) { lblError.Text = ex.Message; lblError.Visible = true; } }
//-------------------------------------------------------------------------- private void btnNext_Click(object sender, EventArgs e) { // With job POD scanning if (this.JobId > 0) { bool sendPodToclient = false; Facade.POD facPod = new Orchestrator.Facade.POD(); if (this.Pod == null) { this.Pod = new Entities.POD(); } this.Pod.SignatureDate = this.dteSignatureDate.SelectedDate.Value; this.Pod.ScannedDateTime = DateTime.Today; this.Pod.TicketNo = this.txtTicketNo.Text.Trim(); this.Pod.JobId = this.JobId; this.Pod.CollectDropId = this.CollectDropId; this.Pod.OrganisationId = 0; // N = No document available if (this.AppendOrReplace.Contains("N")) { if (this.Pod.ScannedFormId == 0) { this.Pod.ScannedFormPDF = Orchestrator.Globals.Constants.NO_DOCUMENT_AVAILABLE; } } else { this.Pod.ScannedFormPDF = this.FileName; } // A = Append to existing if (this.AppendOrReplace.Contains("A")) { this.Pod.IsAppend = true; } else { this.Pod.IsAppend = false; } this.Pod.IsUploaded = false; this.Pod.AdditionalReferences = this.AdditionalReferences; if (this.ScannedFormId > 0) { facPod.Update(this.Pod, ((Entities.CustomPrincipal) this.User).UserName); // re get the pod entry as the scannedFormId will have changed. this.Pod = facPod.GetForPODId(this.Pod.PODId); } else { int podId = facPod.Create(this.Pod, this.JobId, 0, this.CollectDropId, ((Entities.CustomPrincipal)Page.User).UserName); // get the newly created pod. this.Pod = facPod.GetForPODId(podId); } } this.Close(this.ScannedFormId.ToString()); }
void grdOrders_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item.ItemType == GridItemType.AlternatingItem || e.Item.ItemType == GridItemType.Item) { Telerik.Web.UI.GridItem item = e.Item as Telerik.Web.UI.GridItem; int invoiceId = Convert.ToInt32(((System.Data.DataRowView)e.Item.DataItem)["InvoiceId"].ToString()); string invoicePdfLocation = ((System.Data.DataRowView)e.Item.DataItem)["InvoicePdfLocation"].ToString(); int orderId = Convert.ToInt32(((System.Data.DataRowView)e.Item.DataItem)["OrderId"].ToString()); bool isPalletNetwork = (bool)(((System.Data.DataRowView)e.Item.DataItem)["IsPalletNetwork"]); bool isExported = !string.IsNullOrEmpty((((System.Data.DataRowView)e.Item.DataItem)["IntegrationReference"]).ToString()); eOrderStatus orderStatus = (eOrderStatus)(Convert.ToInt32(((System.Data.DataRowView)e.Item.DataItem)["OrderStatusId"].ToString())); string collectionPointDescription = ((System.Data.DataRowView)e.Item.DataItem)["CollectionPointDescription"].ToString(); string deliveryPointDescription = ((System.Data.DataRowView)e.Item.DataItem)["DeliveryPointDescription"].ToString(); Label lblCollectFromPoint = (Label)item.FindControl("lblCollectFromPoint"); lblCollectFromPoint.Text = collectionPointDescription; Label lblDeliverToPoint = (Label)item.FindControl("lblDeliverToPoint"); lblDeliverToPoint.Text = deliveryPointDescription; int orderLcid = Convert.ToInt32(((System.Data.DataRowView)e.Item.DataItem)["OrderLcid"].ToString()); int orderGroupLcid = 0; if (((System.Data.DataRowView)e.Item.DataItem)["OrderGroupLcid"].ToString() != string.Empty) { orderGroupLcid = Convert.ToInt32(((System.Data.DataRowView)e.Item.DataItem)["OrderGroupLcid"].ToString()); } System.Globalization.CultureInfo culture = null; if (orderGroupLcid > 0) { culture = new CultureInfo(orderGroupLcid); } else { culture = new CultureInfo(orderLcid); } // Rate:: formatted for current order culture. Label lblRate = (Label)item.FindControl("lblRate"); if (((System.Data.DataRowView)e.Item.DataItem)["DisplayRate"].ToString() != string.Empty) { lblRate.Text = Convert.ToDecimal(((System.Data.DataRowView)e.Item.DataItem)["DisplayRate"]).ToString("C", culture); } else { lblRate.Text = " "; } // Pod link Facade.POD facPod = new Orchestrator.Facade.POD(); Orchestrator.Entities.POD scannedPOD = facPod.GetForOrderID(orderId); HyperLink hypPod = (HyperLink)item.FindControl("hypPod"); if (scannedPOD != null) { hypPod.Visible = true; hypPod.Text = string.Format("POD:{0}", scannedPOD.PODId); hypPod.NavigateUrl = scannedPOD.ScannedFormPDF.Trim(); hypPod.Target = "_blank"; } else if (scannedPOD == null && (orderStatus == eOrderStatus.Delivered || orderStatus == eOrderStatus.Invoiced)) { hypPod.Visible = false; hypPod.Text = ""; hypPod.NavigateUrl = ""; } // Invoice link HyperLink hypInvoice = (HyperLink)e.Item.FindControl("hypInvoice"); if (invoiceId <= 0) { hypInvoice.Text = ""; hypInvoice.NavigateUrl = ""; } else { hypInvoice.NavigateUrl = Orchestrator.Globals.Configuration.WebServer + invoicePdfLocation; hypInvoice.Text = string.Format("Invoice:{0}", invoiceId); hypInvoice.Target = "_blank"; } // order id link HyperLink hypOrderId = (HyperLink)e.Item.FindControl("hypOrderId"); hypOrderId.Text = orderId.ToString(); // If the order is unapproved, take the client to the update order page // otherwise take the user to the client order profile screen. if (orderStatus == eOrderStatus.Pending || orderStatus == eOrderStatus.Awaiting_Approval) { hypOrderId.NavigateUrl = string.Format("ClientManageOrder.aspx?Oid={0}", orderId); } else { // show the order profile link. hypOrderId.NavigateUrl = string.Format("javascript:openResizableDialogWithScrollbars('ClientOrderProfile.aspx?wiz=true&Oid={0}',560,700);", orderId); hypOrderId.Target = ""; } //Order status Label lblOrderStatus = (Label)e.Item.FindControl("lblOrderStatus"); string orderStatusText = string.Empty; switch (orderStatus) { case eOrderStatus.Pending: orderStatusText = "Pending"; break; case eOrderStatus.Awaiting_Approval: orderStatusText = "Unapproved"; break; case eOrderStatus.Approved: orderStatusText = "Approved"; break; case eOrderStatus.Delivered: orderStatusText = "Delivered"; break; case eOrderStatus.Invoiced: orderStatusText = "Invoiced"; break; case eOrderStatus.Cancelled: orderStatusText = "Cancelled"; break; case eOrderStatus.Rejected: orderStatusText = "Rejected"; break; default: break; } lblOrderStatus.Text = orderStatusText; if (Orchestrator.Globals.Configuration.PalletNetworkLabelID == eReportType.PalletNetworkLabel) { if (isExported) { e.Item.BackColor = System.Drawing.Color.LightGreen; } } } }
public List <Orchestrator.BulkScan.Types.ScanResult> GetScanUploadDefaultInformationAndExistingScans(string barcodes) { if (string.IsNullOrEmpty(barcodes)) { return(new List <ScanResult>()); } List <ScanResult> result = new List <ScanResult>(); Facade.Form facForm = new Orchestrator.Facade.Form(); Facade.ResourceManifest facRM = new Orchestrator.Facade.ResourceManifest(); Facade.IOrder facOrder = new Orchestrator.Facade.Order(); Entities.Scan scan = null; ScanResult sr = null; foreach (string barcode in barcodes.Split(":".ToCharArray())) { try { // The 3rd and 4th chars of the barcode indicate the form type switch (barcode.Substring(2, 2)) { case "02": // Resource Manifests string extractedResourceManifestId = barcode.Substring(4, 8); for (int i = 0; i < 8; i++) { if (extractedResourceManifestId.Length > 0 && extractedResourceManifestId.Substring(0, 1) == "0") { extractedResourceManifestId = extractedResourceManifestId.Substring(1); } else { break; } } int resourceManifestId = Convert.ToInt32(extractedResourceManifestId); Entities.ResourceManifest rm = facRM.GetResourceManifest(resourceManifestId); if (rm != null) { sr = new ScanResult(); sr.Barcode = barcode; sr.FormType = "02"; if (rm.ScannedFormId > 0) { scan = facForm.GetForScannedFormId(rm.ScannedFormId); if (scan != null) { sr.PDFPath = scan.ScannedFormPDF; sr.Replace = false; } } result.Add(sr); } break; //case "01": // Delivery Note // int orderId = Convert.ToInt32(barcode.Substring(3)); // Entities.Order order = facOrder.GetForOrderID(orderId); // if (order != null) // { // sr = new ScanResult(); // sr.Barcode = barcode; // sr.FormType = "01"; // if (order.DeliveryNoteScannedFormId.HasValue) // { // scan = facForm.GetForScannedFormId(order.DeliveryNoteScannedFormId.Value); // if (scan != null) // { // sr.PDFPath = scan.ScannedFormPDF; // sr.Replace = false; // } // } // result.Add(sr); // } // break; case "01": // PODS string extratedOrderId = barcode.Substring(4, 8); for (int i = 0; i < 8; i++) { if (extratedOrderId.Length > 0 && extratedOrderId.Substring(0, 1) == "0") { extratedOrderId = extratedOrderId.Substring(1); } else { break; } } int orderId2 = Convert.ToInt32(extratedOrderId); Entities.Order order2 = facOrder.GetForOrderID(orderId2); if (order2 != null) { Facade.POD facPod = new Orchestrator.Facade.POD(); Entities.POD pod = facPod.GetForOrderID(orderId2); BatchItemPodInfo podInfo = new BatchItemPodInfo(); sr = new ScanResult(); sr.Barcode = barcode; sr.FormType = "01"; if (pod != null) { scan = facForm.GetForScannedFormId(pod.ScannedFormId); if (scan != null) { sr.PDFPath = scan.ScannedFormPDF; sr.Replace = false; } } int collectDropId = facOrder.GetDeliveryCollectDropIDForPODScanner(orderId2); int JobId = facOrder.GetDeliveryJobIDForOrderID(orderId2); DataSet dsJobDetails = facPod.GetJobDetails(JobId); bool foundCollectDrop = false; foreach (DataRow row in dsJobDetails.Tables["CollectionDrop"].Rows) { if ((int)row["CollectDropId"] == collectDropId) { podInfo.TicketNumber = row["ClientsCustomerReference"].ToString(); podInfo.SignatureDate = (DateTime)row["CollectDropDateTime"]; foundCollectDrop = true; break; } } // If we don't find pod info, default it to something sensible. if (!foundCollectDrop) { podInfo.TicketNumber = ""; podInfo.SignatureDate = DateTime.Now; } sr.BatchItemInfo = SerializeBatchItemInfoToString(sr.FormType, podInfo); result.Add(sr); } break; default: break; } } catch (Exception ex) { ScanResult srError = new ScanResult(); srError.Barcode = barcode; srError.ErrorOccurred = true; srError.ErrorText = ex.Message; result.Add(srError); } } return(result); }
public bool PrepareForBulkScanUpload(List <ScanPreparation> scanPreps, string userId) { bool result = false; foreach (ScanPreparation sp in scanPreps) { if (sp.FormType == "02") // Resource Manifest { Entities.Scan manifest = null; // Resource Manifest if (Convert.ToInt32(sp.RecordId) > 0) { Facade.Form facForm = new Facade.Form(); manifest = new Entities.Scan(); // If this is not a replace (ie its an 'append'), then the previousScannedFormId value must be set. // The previousScannedFormId should also be set when a placeholder row (with NoDocumentScanned.pdf) is present. Facade.ResourceManifest facResourceManifest = new Orchestrator.Facade.ResourceManifest(); Entities.ResourceManifest rm = facResourceManifest.GetResourceManifest(int.Parse(sp.RecordId)); if (rm.ScannedFormId > 0) { manifest.PreviousScannedFormId = rm.ScannedFormId; } manifest.ScannedDateTime = DateTime.Today; manifest.FormTypeId = eFormTypeId.Manifest; manifest.ScannedFormPDF = sp.PDFFileName; manifest.IsAppend = !sp.Replace; manifest.IsUploaded = false; int scanFormId = facForm.CreateNew(manifest, userId); if (scanFormId > 0) { manifest.ScannedFormId = scanFormId; // Update manifest record here facResourceManifest.UpdateResourceManifestScan(int.Parse(sp.RecordId), scanFormId, userId); } } result = true; } if (sp.FormType == "01") // POD { Facade.IOrder facOrder = new Facade.Order(); Facade.POD facPod = new Orchestrator.Facade.POD(); Entities.POD pod = null; int collectDropId = facOrder.GetDeliveryCollectDropIDForPODScanner(int.Parse(sp.RecordId)); int JobId = facOrder.GetDeliveryJobIDForOrderID(int.Parse(sp.RecordId)); pod = facPod.GetForOrderID(int.Parse(sp.RecordId)); if (pod == null) { pod = new Entities.POD(); } BatchItemPodInfo podInfo = (BatchItemPodInfo)DeserializeBatchItemInfoFromString(sp); if (podInfo != null) { pod.TicketNo = podInfo.TicketNumber; pod.SignatureDate = podInfo.SignatureDate; } else { pod.TicketNo = string.Empty; pod.SignatureDate = DateTime.Now; } //pod.PreviousScannedFormId pod.ScannedDateTime = DateTime.Today; pod.JobId = JobId; pod.CollectDropId = collectDropId; pod.OrganisationId = 0; if (pod.ScannedFormPDF != null && pod.ScannedFormPDF.ToLower().Contains(Globals.Constants.NO_DOCUMENT_AVAILABLE.ToLower())) { pod.IsAppend = false; } else { pod.IsAppend = !sp.Replace; } pod.ScannedFormPDF = sp.PDFFileName; if (pod.ScannedFormId > 0) { facPod.Update(pod, userId); // re get the pod entry as the scannedFormId will have changed. pod = facPod.GetForPODId(pod.PODId); } else { int podId = facPod.Create(pod, JobId, 0, collectDropId, userId); // get the newly created pod. pod = facPod.GetForPODId(podId); } result = true; } //if (sp.FormType == "01") // delivery notes //{ // Entities.Scan deliveryNote = null; // // delivery note // if (Convert.ToInt32(sp.RecordId) > 0) // { // Facade.IOrder facOrder = new Facade.Order(); // Facade.Form facForm = new Facade.Form(); // deliveryNote = new Entities.Scan(); // // If this is not a replace (ie its an 'append'), then the previousScannedFormId value must be set. // // The previousScannedFormId should also be set when a placeholder row (with NoDocumentScanned.pdf) is present. // Entities.Order order = facOrder.GetForOrderID(int.Parse(sp.RecordId)); // if (order.DeliveryNoteScannedFormId > 0) // deliveryNote.PreviousScannedFormId = order.DeliveryNoteScannedFormId; // deliveryNote.ScannedDateTime = DateTime.Today; // deliveryNote.FormTypeId = eFormTypeId.DeliveryNote; // deliveryNote.ScannedFormPDF = sp.PDFFileName; // deliveryNote.IsAppend = !sp.Replace; // deliveryNote.IsUploaded = false; // int scanFormId = facForm.CreateNew(deliveryNote, userId); // if (scanFormId > 0) // { // deliveryNote.ScannedFormId = scanFormId; // // Update manifest record here // facOrder.UpdateDeliveryNoteScannedFormId(int.Parse(sp.RecordId), scanFormId, userId); // } // } // result = true; //} } return(result); }