Esempio n. 1
0
        public Orchestrator.WebUI.ws.MappingServices.Point GetPoint(int pointID)
        {
            Orchestrator.Facade.IPoint  facPoint          = new Orchestrator.Facade.Point();
            Orchestrator.Entities.Point selectedPoint     = facPoint.GetPointForPointId(pointID);
            Orchestrator.WebUI.ws.MappingServices.Point p = new Orchestrator.WebUI.ws.MappingServices.Point();
            p.PointID     = selectedPoint.PointId;
            p.Description = selectedPoint.Description;
            p.Latitide    = (double)selectedPoint.Latitude;
            p.Longitude   = (double)selectedPoint.Longitude;


            p.GeofencePoints = new List <double[]>();

            string points = string.Empty;

            for (int i = 0; i < selectedPoint.Geofence.STNumPoints(); i++)
            {
                SqlGeography point  = selectedPoint.Geofence.STPointN(i + 1);
                double[]     latLon = new double[2] {
                    (double)point.Lat, (double)point.Long
                };
                p.GeofencePoints.Add(latLon);

                //points = point.Lat.ToString() + ',' + point.Long.ToString() + '|';
            }

            return(p);
        }
        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");
            }
        }
Esempio n. 3
0
    public bool ImportCustomers(DataSet ds)
    {
        DataTable dt = ds.Tables[0];

        Orchestrator.Entities.Organisation         organisation;
        Orchestrator.Entities.OrganisationLocation ol;
        Orchestrator.Entities.Individual           i;
        Orchestrator.Entities.Point   point;
        Orchestrator.Entities.Address address;

        Orchestrator.Facade.Organisation facOrganisation = new Orchestrator.Facade.Organisation();

        foreach (DataRow row in dt.Rows)
        {
            organisation = new Orchestrator.Entities.Organisation();
            organisation.OrganisationName        = row["NAME"].ToString();
            organisation.OrganisationDisplayName = row["NAME"].ToString();
            organisation.OrganisationType        = Orchestrator.eOrganisationType.Client;
            organisation.AccountCode             = row["ACCOUNT_REF"].ToString();

            address              = new Orchestrator.Entities.Address();
            address.AddressType  = Orchestrator.eAddressType.Correspondence;
            address.AddressLine1 = row["ADDRESS_1"].ToString();
            address.AddressLine2 = row["ADDRESS_2"].ToString();
            address.PostTown     = row["ADDRESS_3"].ToString();
            address.County       = row["ADDRESS_4"].ToString();
            address.PostCode     = row["ADDRESS_5"].ToString();
            address.TrafficArea  = new Orchestrator.Entities.TrafficArea();
            address.TrafficArea.TrafficAreaId = 0;

            //Resolve The post Town if possible.
            string defaultPostTown   = "Glasgow";
            int    defaultPostTownId = 9063;

            string postTown = (row["ADDRESS_4"].ToString() == "" ? null : row["ADDRESS_4"].ToString()) ?? (row["ADDRESS_3"].ToString() == "" ? null : row["ADDRESS_3"].ToString()) ?? (row["ADDRESS_2"].ToString() == "" ? null : row["ADDRESS_2"].ToString()) ?? defaultPostTown;

            if (address.PostTown == string.Empty)
            {
                address.PostTown = postTown;
            }


            int?postTownID = null;
            Orchestrator.Facade.ReferenceData facRef = new Orchestrator.Facade.ReferenceData();
            DataSet dsTown = facRef.GetTownForTownName(postTown);
            if (dsTown.Tables[0].Rows.Count > 0)
            {
                postTownID = int.Parse(dsTown.Tables[0].Rows[0]["TownId"].ToString());
            }


            ol = new Orchestrator.Entities.OrganisationLocation();
            ol.OrganisationLocationName = "Head Office";
            ol.OrganisationLocationType = Orchestrator.eOrganisationLocationType.HeadOffice;


            point                   = new Orchestrator.Entities.Point();
            point.Description       = "Head Office";
            point.Collect           = false;
            point.Deliver           = false;
            point.Address           = address;
            point.PostTown          = new Orchestrator.Entities.PostTown();
            point.PostTown.TownName = postTown;
            point.PostTown.TownId   = postTownID ?? defaultPostTownId;

            ol.Point = point;

            if (organisation.Locations == null)
            {
                organisation.Locations = new Orchestrator.Entities.OrganisationLocationCollection();
            }

            organisation.Locations.Add(ol);

            i                = new Orchestrator.Entities.Individual();
            i.Contacts       = new Orchestrator.Entities.ContactCollection();
            i.IndividualType = Orchestrator.eIndividualType.Contact;
            i.Title          = Orchestrator.eTitle.Mr;
            if (row["CONTACT_NAME"] != string.Empty)
            {
                if (row["CONTACT_NAME"].ToString().IndexOf(' ') > 0)
                {
                    i.FirstNames = row["CONTACT_NAME"].ToString().Split(' ')[0];
                    i.LastName   = row["CONTACT_NAME"].ToString().Split(' ')[1];
                }
                else
                {
                    i.FirstNames = row["CONTACT_NAME"].ToString();
                    i.LastName   = string.Empty;
                }
            }

            if (row["TELEPHONE"].ToString() != string.Empty)
            {
                i.Contacts.Add(new Orchestrator.Entities.Contact(Orchestrator.eContactType.Telephone, row["TELEPHONE"].ToString()));
                ol.TelephoneNumber = row["TELEPHONE"].ToString();
            }

            if (row["FAX"].ToString() != string.Empty)
            {
                i.Contacts.Add(new Orchestrator.Entities.Contact(Orchestrator.eContactType.Fax, row["FAX"].ToString()));
                ol.FaxNumber = row["FAX"].ToString();
            }

            if (row["E_MAIL"].ToString() != string.Empty)
            {
                i.Contacts.Add(new Orchestrator.Entities.Contact(Orchestrator.eContactType.Email, row["E_MAIL"].ToString()));
            }

            if (row["CONTACT_NAME"] != string.Empty)
            {
                organisation.IndividualContacts.Add(i);
            }

            Orchestrator.Entities.FacadeResult ret = facOrganisation.Create(organisation, "Orchestrator_Import");
            if (!ret.Success)
            {
                return(false);
            }
        }

        return(true);
    }