// get data from xml response static DpdTrackingStatusListViewModel DeserializeXmlResponse(string responseXml) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(responseXml); //List<string> list = new List<string>(); List <DpdTrackingStatusViewModel> statusList = new List <DpdTrackingStatusViewModel>(); XmlNodeList eventsList = xmlDoc.SelectNodes("//eventsList"); //int events = foreach (XmlNode nodeElement in eventsList) { if (nodeElement.HasChildNodes) { DpdTrackingStatusViewModel status = new DpdTrackingStatusViewModel() { Event = nodeElement["description"].InnerText, EventDateTime = nodeElement["eventTime"].InnerText, EventPlace = nodeElement["depotName"].InnerText, TrackingNumber = nodeElement["waybill"].InnerText, }; statusList.Add(status); } } DpdTrackingStatusListViewModel trackingStatusList = new DpdTrackingStatusListViewModel(); trackingStatusList.TrackingList = statusList; return(trackingStatusList); }
// achive tracking status from Webservice DPD public DpdTrackingStatusListViewModel GetTrackingStatusFromDPDWebservice(int orderId) { string trackingNumber = _myContex.Orders.Find(orderId).TrackingNumber; string xmlRequest = @"<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:even=""http://events.dpdinfoservices.dpd.com.pl/""> <soapenv:Header/> <soapenv:Body> <even:getEventsForWaybillV1> <waybill></waybill> <eventsSelectType>ALL</eventsSelectType> <language>PL</language> <authDataV1> <channel></channel> <login></login> <password></password> </authDataV1> </even:getEventsForWaybillV1> </soapenv:Body> </soapenv:Envelope>"; DpdTrackingStatusListViewModel lastTrackingStatus = DeserializeXmlResponse(SendSoap(xmlRequest, trackingNumber)); return(lastTrackingStatus); }