Ejemplo n.º 1
0
 public ResultStatus Freeze(
     CarrierMaint carrierMaint,
     CarrierMaint_Request request,
     out CarrierMaint_Result result)
 {
     return(this.Freeze(carrierMaint, (CarrierMaint_Parameters)null, request, out result));
 }
Ejemplo n.º 2
0
 public ResultStatus NewCopy(
     CarrierMaint carrierMaint,
     CarrierMaint_Request request,
     out CarrierMaint_Result result)
 {
     return(this.NewCopy(carrierMaint, (CarrierMaint_Parameters)null, request, out result));
 }
Ejemplo n.º 3
0
 public ResultStatus LoadESigDetails(
     CarrierMaint carrierMaint,
     CarrierMaint_Request request,
     out CarrierMaint_Result result)
 {
     return(this.LoadESigDetails(carrierMaint, (CarrierMaint_LoadESigDetails_Parameters)null, request, out result));
 }
Ejemplo n.º 4
0
 public ResultStatus GetWIPMsgs(
     CarrierMaint carrierMaint,
     CarrierMaint_Request request,
     out CarrierMaint_Result result)
 {
     return(this.GetWIPMsgs(carrierMaint, (CarrierMaint_Parameters)null, request, out result));
 }
Ejemplo n.º 5
0
 public CarrierMaintMethod(
     CarrierMaint Cdo,
     CarrierMaintMethods Method,
     CarrierMaint_Parameters Parameters)
 {
     this.Cdo           = Cdo;
     this.ServiceMethod = Method;
     this.Parameters    = Parameters;
 }
Ejemplo n.º 6
0
 public ResultStatus GetEnvironment(
     CarrierMaint cdo,
     CarrierMaint_Request request,
     out CarrierMaint_Result result)
 {
     result = (CarrierMaint_Result)null;
     try
     {
         return(((ICarrierMaintService)this._Channel).GetEnvironment(this._UserProfile, cdo, request, out result));
     }
     catch (Exception ex)
     {
         return(this.OnThrowException(ex));
     }
 }
Ejemplo n.º 7
0
        public ResultStatus AddDataTransaction(CarrierMaint cdo)
        {
            this.OnBeforeCall(nameof(AddDataTransaction), (DCObject)cdo, (Parameters)null, (Request)null);
            ResultStatus res;

            try
            {
                res = !this._IsTransactionOpened ? this.GetAddDataTransactionException() : this.AddMethod((Method) new CarrierMaintMethod(cdo, CarrierMaintMethods.AddDataTransaction, (CarrierMaint_Parameters)null));
            }
            catch (Exception ex)
            {
                res = this.OnThrowException(ex);
            }
            if (res.IsSuccess)
            {
                Result result;
                this.OnAfterCall(nameof(AddDataTransaction), res, (DCObject)cdo, (Parameters)null, (Request)null, result);
            }
            return(res);
        }
Ejemplo n.º 8
0
        public ResultStatus ExecuteTransaction(
            CarrierMaint cdo,
            CarrierMaint_Request request,
            out CarrierMaint_Result result)
        {
            result = (CarrierMaint_Result)null;
            this.OnBeforeCall(nameof(ExecuteTransaction), (DCObject)cdo, (Parameters)null, (Request)request);
            ResultStatus res;

            try
            {
                res = !this._IsTransactionOpened ? ((ICarrierMaintService)this._Channel).ExecuteTransaction(this._UserProfile, cdo, request, out result) : this.AddMethod((Method) new CarrierMaintMethod(cdo, CarrierMaintMethods.ExecuteTransaction, (CarrierMaint_Parameters)null));
            }
            catch (Exception ex)
            {
                res = this.OnThrowException(ex);
            }
            if (res.IsSuccess)
            {
                this.OnAfterCall(nameof(ExecuteTransaction), res, (DCObject)cdo, (Parameters)null, (Request)request, (Result)result);
            }
            return(res);
        }
Ejemplo n.º 9
0
        public ResultStatus UnFreeze(
            CarrierMaint carrierMaint,
            CarrierMaint_Parameters parameters,
            CarrierMaint_Request request,
            out CarrierMaint_Result result)
        {
            result = (CarrierMaint_Result)null;
            this.OnBeforeCall(nameof(UnFreeze), (DCObject)carrierMaint, (Parameters)parameters, (Request)request);
            ResultStatus res;

            try
            {
                res = !this._IsTransactionOpened ? ((ICarrierMaintService)this._Channel).UnFreeze(this._UserProfile, carrierMaint, parameters, request, out result) : this.AddMethod((Method) new CarrierMaintMethod(carrierMaint, CarrierMaintMethods.UnFreeze, parameters));
            }
            catch (Exception ex)
            {
                res = this.OnThrowException(ex);
            }
            if (res.IsSuccess)
            {
                this.OnAfterCall(nameof(UnFreeze), res, (DCObject)carrierMaint, (Parameters)parameters, (Request)request, (Result)result);
            }
            return(res);
        }
Ejemplo n.º 10
0
 public ResultStatus ExecuteTransaction(CarrierMaint cdo)
 {
     return(this.ExecuteTransaction(cdo, (CarrierMaint_Request)null, out CarrierMaint_Result _));
 }
Ejemplo n.º 11
0
 public ResultStatus Delete(CarrierMaint carrierMaint)
 {
     return(this.Delete(carrierMaint, (CarrierMaint_Parameters)null, (CarrierMaint_Request)null, out CarrierMaint_Result _));
 }
Ejemplo n.º 12
0
        protected virtual IEnumerable PrintFedexLabel(PXAdapter adapter)
        {
            var shiporder = Base.Document.Current;
            var carrier   = Carrier.PK.Find(Base, shiporder.ShipVia);

            if (!UseCarrierService(shiporder, carrier))
            {
                return(adapter.Get());
            }

            if (shiporder.ShippedViaCarrier != true)
            {
                // Build Fedex Request object
                ICarrierService cs            = CarrierMaint.CreateCarrierService(Base, shiporder.ShipVia);
                CarrierRequest  cr            = Base.CarrierRatesExt.BuildRequest(shiporder);
                var             warehouseInfo = SelectFrom <INSite> .Where <INSite.siteID.IsEqual <P.AsInt> > .View
                                                .Select(Base, shiporder.SiteID).RowCast <INSite>().FirstOrDefault();

                // Replace ShipTo Info to DCL warehouse
                Address warehouseAddress = PXSelect <Address, Where <Address.addressID, Equal <Required <Address.addressID> > > > .Select(Base, warehouseInfo?.AddressID);

                Contact warehouseContact = PXSelect <Contact, Where <Contact.contactID, Equal <Required <Contact.contactID> > > > .Select(Base, warehouseInfo?.ContactID);

                cr.Destination        = warehouseAddress;
                cr.DestinationContact = warehouseContact;

                if (cr.Packages.Count > 0)
                {
                    // Get Fedex web service data
                    CarrierResult <ShipResult> result = cs.Ship(cr);

                    if (result != null)
                    {
                        StringBuilder sb = new StringBuilder();
                        foreach (Message message in result.Messages)
                        {
                            sb.AppendFormat("{0}:{1} ", message.Code, message.Description);
                        }

                        if (result.IsSuccess)
                        {
                            using (PXTransactionScope ts = new PXTransactionScope())
                            {
                                UploadFileMaintenance upload = PXGraph.CreateInstance <UploadFileMaintenance>();

                                foreach (PackageData pd in result.Result.Data)
                                {
                                    if (pd.Image != null)
                                    {
                                        string   fileName = string.Format("Label #{0}.{1}", pd.TrackingNumber, pd.Format);
                                        FileInfo file     = new FileInfo(fileName, null, pd.Image);
                                        try
                                        {
                                            upload.SaveFile(file);
                                        }
                                        catch (PXNotSupportedFileTypeException exc)
                                        {
                                            throw new PXException(exc, Messages.NotSupportedFileTypeFromCarrier, pd.Format);
                                        }
                                        PXNoteAttribute.SetFileNotes(Base.Document.Cache, Base.Document.Current, file.UID.Value);
                                    }
                                    Base.Document.UpdateCurrent();
                                }

                                Base.Save.Press();
                                ts.Complete();
                            }
                            //show warnings:
                            if (result.Messages.Count > 0)
                            {
                                Base.Document.Cache.RaiseExceptionHandling <SOShipment.curyFreightCost>(shiporder, shiporder.CuryFreightCost,
                                                                                                        new PXSetPropertyException(sb.ToString(), PXErrorLevel.Warning));
                            }
                        }
                        else
                        {
                            if (!string.IsNullOrEmpty(result.RequestData))
                            {
                                PXTrace.WriteError(result.RequestData);
                            }

                            Base.Document.Cache.RaiseExceptionHandling <SOShipment.curyFreightCost>(shiporder, shiporder.CuryFreightCost,
                                                                                                    new PXSetPropertyException(Messages.CarrierServiceError, PXErrorLevel.Error, sb.ToString()));

                            throw new PXException(Messages.CarrierServiceError, sb.ToString());
                        }
                    }
                }
            }

            return(adapter.Get());
        }