Example #1
0
        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;
        }
Example #2
0
        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;
        }
Example #3
0
        //--------------------------------------------------------------------------

        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 = "&#160;";
            }
            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");
            }
        }
Example #5
0
        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;
                    }
                }
            }
        }
Example #6
0
        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;
            }
        }
Example #7
0
        //--------------------------------------------------------------------------

        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());
        }
Example #8
0
        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 = "&nbsp;";
                }

                // 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;
                    }
                }
            }
        }
Example #9
0
        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);
        }
Example #10
0
        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);
        }