예제 #1
0
        private gcmAPI.RRTS_WebService.ShipmentDetail[] getRRTS_ShipmentDetails(ref bool rateAsClass50)
        {
            //int intResult;
            gcmAPI.RRTS_WebService.ShipmentDetail[] objSDArray;

            //double dblResult;

            if (quoteData.m_lPiece.Length > 0)
            {
                //DB.Log("rrts", "size > 0", "");

                objSDArray = new gcmAPI.RRTS_WebService.ShipmentDetail[quoteData.m_lPiece.Length];

                gcmAPI.RRTS_WebService.ShipmentDetail objSD;

                for (byte i = 0; i < quoteData.m_lPiece.Length; i++)
                {
                    /////////////////////For RoadRunner///////////////////////////
                    objSD = new gcmAPI.RRTS_WebService.ShipmentDetail();

                    if (rateAsClass50.Equals(true))
                    {
                        objSD.ActualClass = 50;
                    }
                    else
                    {
                        if (quoteData.m_lPiece[i].Commodity == "HHG" || quoteData.isCommodityLkupHHG)
                        {
                            objSD.ActualClass = 150;
                        }
                        else
                        {
                            objSD.ActualClass = Convert.ToDouble(quoteData.m_lPiece[i].FreightClass);
                        }
                    }
                    objSD.Weight  = Convert.ToInt32(quoteData.m_lPiece[i].Weight);
                    objSDArray[i] = objSD;
                }

                return(objSDArray);
            }
            return(null);
        }
예제 #2
0
        private void GetRateFromRRTS_QuoteByAccount(ref gcmAPI.RRTS_WebService.QuoteResponse objRoadRunnerResult)
        {
            //DB.Log("GetRateFromRRTS_QuoteByAccount", "");
            try
            {
                if (quoteData.username.Equals("durachem"))
                {
                    return;
                }

                double maxLengthDim = 0;
                HelperFuncs.GetMaxLengthDimension(ref quoteData.m_lPiece, ref maxLengthDim);

                if (!quoteData.mode.Equals("NetNet"))
                {
                    if ((quoteData.AccessorialsObj.LGPU.Equals(true) ||
                         quoteData.AccessorialsObj.LGDEL.Equals(true)) && maxLengthDim > 54)
                    {
                        throw new Exception("RDFS over 54 dim");
                    }
                }
                if (quoteData.AccessorialsObj.TRADEPU || quoteData.AccessorialsObj.TRADEDEL)
                {
                    throw new Exception("tradeshow");
                }

                gcmAPI.RRTS_WebService.QuoteAccountRequest quoteAccountRequest = new gcmAPI.RRTS_WebService.QuoteAccountRequest();
                quoteAccountRequest.Account = accountNumber;

                gcmAPI.RRTS_WebService.ServiceOptions[] objSOArray;

                quoteAccountRequest.OriginZip      = quoteData.origZip;
                quoteAccountRequest.DestinationZip = quoteData.destZip;; //"N1K1B8";
                quoteAccountRequest.OriginType     = "B";                //Third Party
                quoteAccountRequest.PaymentType    = "P";                //PrePaid

                gcmAPI.RRTS_WebService.ShipmentDetail objSD;
                objSD = new gcmAPI.RRTS_WebService.ShipmentDetail();

                quoteAccountRequest.ShipmentDetails = getRRTS_ShipmentDetails(ref rateAsClass50);

                if (quoteAccountRequest.ShipmentDetails == null)
                {
                    throw new Exception("error getting inputs");
                }

                quoteAccountRequest.ShipDate = quoteData.puDate;

                objSOArray = GetShipmentOptionsForRoadRunner();
                quoteAccountRequest.ServiceDeliveryOptions = objSOArray;

                gcmAPI.RRTS_WebService.RateQuote objRQ = new gcmAPI.RRTS_WebService.RateQuote();

                gcmAPI.RRTS_WebService.AuthenticationHeader objAuthentication = new gcmAPI.RRTS_WebService.AuthenticationHeader();

                Logins.Login_info login_info;
                Logins            logins = new Logins();

                if (quoteData.username.ToLower().Equals("field16")) //account specific login
                {
                    logins.Get_login_info(22, out login_info);
                    objAuthentication.Password = login_info.password;
                    objAuthentication.UserName = login_info.username;
                }
                else
                {
                    logins.Get_login_info(21, out login_info);
                    objAuthentication.Password = login_info.password;
                    objAuthentication.UserName = login_info.username;
                }

                objRQ.Timeout = 20000;
                objRQ.AuthenticationHeaderValue = objAuthentication;

                gcmAPI.RRTS_WebService.QuoteResponse objQResponse = new gcmAPI.RRTS_WebService.QuoteResponse();

                //objQResponse = objRQ.CallRateQuote(quoteAccountRequest);

                objQResponse = objRQ.RateQuoteByAccount(quoteAccountRequest);

                objRoadRunnerResult = objQResponse;
            }
            catch (Exception ex)
            {
                //if (!ex.Message.Contains("no standard service") && !ex.Message.Contains("not in the standard") && !ex.Message.Contains("must be today") && !ex.Message.Contains("timed out"))
                //{
                //    DB.Log("Roadrunner (Live)", ex.ToString(), "");
                //}
                DB.Log("Roadrunner (Live)", ex.ToString());
            }
        }