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); }
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()); } }