public TrackingResponse Tracking(string trackingNumber) { TrackingResponse result; KnownTrackingRequest track = setTracking(new string[] { trackingNumber }); XmlSerializer serializer = new XmlSerializer(typeof(TrackingResponse)); using (TextReader reader = new StringReader(SendRequest(track))) { try { result = (TrackingResponse)serializer.Deserialize(reader); } catch (Exception e) { result = new TrackingResponse() { AWBInfo = new AWBInfo[] { new AWBInfo() { Status = new Status() { ActionStatus = e.Message } } } }; } } return(result); }
// ReSharper disable once InconsistentNaming public KnownTrackingResponse KnownAWBTracking(List <string> AWBs , Enums.LevelOfDetails levelOfDetails = Enums.LevelOfDetails.AllCheckpoints , Enums.PiecesEnabled detailsRequested = Enums.PiecesEnabled.ShipmentOnly , Enums.EstimatedDeliveryDateEnabled eddEnabled = Enums.EstimatedDeliveryDateEnabled.No) { KnownTrackingRequest ktr = new KnownTrackingRequest { Request = new Request { ServiceHeader = new ServiceHeader() }, AWBNumber = new AWBNumber(AWBs), PiecesEnabled = detailsRequested, LevelOfDetails = levelOfDetails, EstimatedDeliveryDateEnabled = eddEnabled }; //foreach (string awb in AWBs) //{ // ktr.AWBNumber.ArrayOfAWBNumberItem.Add(new AWBNumber(awb)); //} // Validate the request List <ValidationResult> validationResult = Common.Validate(ref ktr); if (validationResult.Any()) { throw new GloWSValidationException(validationResult); } LastJSONRequest = JsonConvert.SerializeObject(KnownTrackingRequest.DecorateRequest(ktr), Formatting.Indented); LastJSONResponse = SendRequestAndReceiveResponse(LastJSONRequest, "TrackingRequest"); KnownTrackingResponse retval; try { // Deserialize the result back to an object. List <string> errors = new List <string>(); retval = JsonConvert.DeserializeObject <KnownTrackingResponse>(LastJSONResponse, new JsonSerializerSettings() { Error = delegate(object sender, Newtonsoft.Json.Serialization.ErrorEventArgs args) { errors.Add(args.ErrorContext.Error.Message); args.ErrorContext.Handled = true; } }); } catch { retval = new KnownTrackingResponse(); } return(retval); }
private KnownTrackingRequest setTracking(string[] items) { var tracking = new KnownTrackingRequest(); tracking.Request = requset1Init(); tracking.LanguageCode = "tw"; tracking.Items = items; tracking.ItemsElementName = new ItemsChoiceType[] { 0 }; tracking.LevelOfDetails = LevelOfDetails.ALL_CHECK_POINTS; tracking.PiecesEnabled = KnownTrackingRequestPiecesEnabled.S; return(tracking); }
public static string fillXmlForShipTracking(trackingRequestModel requestModel, string _siteId, string _sitePassword, PistisContext db, string checkAction) { uint awbNo = Convert.ToUInt32(requestModel.trackingNumber); XmlSerializer serialization = new XmlSerializer(typeof(KnownTrackingRequest)); KnownTrackingRequest ktr = new KnownTrackingRequest(); ktr.Request = new TrackingRequestAllCheckPoints.Request(); ktr.Request.ServiceHeader = new TrackingRequestAllCheckPoints.RequestServiceHeader(); ktr.Request.ServiceHeader.MessageTime = System.DateTime.Now; ktr.Request.ServiceHeader.MessageReference = "1234567890123456789012345678"; ktr.Request.ServiceHeader.SiteID = _siteId; ktr.Request.ServiceHeader.Password = _sitePassword; ktr.LanguageCode = "en"; ktr.AWBNumber = awbNo; if (checkAction.ToLower() == "all") { ktr.LevelOfDetails = "ALL_CHECK_POINTS"; } if (checkAction.ToLower() == "last") { ktr.LevelOfDetails = "LAST_CHECK_POINT_ONLY"; } var result = ""; XmlWriterSettings settings = new XmlWriterSettings(); settings.Encoding = new UnicodeEncoding(false, false); settings.Indent = true; settings.OmitXmlDeclaration = true; using (StringWriter textWriter = new StringWriter()) { using (XmlWriter xmlWriter = XmlWriter.Create(textWriter, settings)) { serialization.Serialize(xmlWriter, ktr); } result = textWriter.ToString(); } return(result); }