private void HermesLocation() { refHermesLoc.WebServiceClient client = new refHermesLoc.WebServiceClient(); client.ClientCredentials.UserName.UserName = "******"; client.ClientCredentials.UserName.Password = "******"; //var result = client.GetParcelShops("1000"); /////Данный метод предназначен для первоначальной передачи информации о посылках. Передача информации о посылках возможна и без указания штрих-кодов посылок. В этом случае генерация номеров будет происходить на стороне Hermes Russia. Эта опция не включена по умолчанию, поэтому для ее активации необходимо связаться с отделом продаж Hermes Russia. //var preadvices = HermesLocationC.FillPreadvice(); //var result2 = client.CreatePreadvice(preadvices); /////Данный метод позволяет обновлять информацию о еще не переданных на доставку посылках. Обновление информации производится по совпадению клиентского номера посылки. При совпадении клиентского номера посылки все остальные поля будут обновлены данными из запроса. //var preadvices3 = HermesLocationC.FillPreadvice(); //var result3 = client.UpdatePreadvice(preadvices3); /////Данный метод позволяет удалять еще не переданные на доставку посылки, если необходимость в их доставке отпала или данные были ошибочными. Удаление информации о посылках происходит по совпадению штрих-кодов. //string[] parcelBarcodes = new string[] { "12345678901234", "12345678901235" }; //var resule4 = client.DeletePreadvice(parcelBarcodes); /////Данный метод позволяет получить список всех еще не переданных на доставку посылок заданного бизнес-юнита. string businessUnitCode = "1000"; //var resule5 = client.GetPreadvices(businessUnitCode); PreadviceResult[] resule6 = client.SendAllPreadvicesToDelivery(businessUnitCode); /////Данный метод предназначен для решения задачи получения всех статусов всех посылок заданного бизнес-юнита в режиме, приближенном к реальному времени и сохранении статусов в системе клиента. /////Метод позволяет получить все статусы, которые появились в системе Hermes Russia с заданной даты. /////Алгоритм работы с методом ////1.При первом вызове необходимо передать в параметре dateFrom текущую дату ////2.Далее гарантируется передача всех статусов без потерь или повторов, при условии, что параметр dateFrom будет содержать значение, возвращенное в параметре NextRequestDateFrom из предыдущего вызова метода, а параметр dateTo необходимо оставлять пустым ////3.При удалении статуса, он передается еще раз, но уже с заполненным полем StatusDeleteTimestamp //DateTime dateTime = new DateTime(2015, 7, 20, 18, 30, 25); //StatusDateRangeResult resule7 = client.GetStatusesByBusinessUnit(businessUnitCode, dateTime , null); //dateTime = resule7.NextRequestDateFrom; ///Данный метод предназначен для получения всех статусов по заданному списку посылок. Удаленные статусы не возвращаются данным методом. ///Часто использовать этот метод крайне не рекомендуется, только для редких и частных случаев. string[] parcelBarCodes = new string[1] { "20000000000001" }; client.GetStatusesByParcelBarcodes(parcelBarCodes); }
internal static void UpdatePreadvice(refHermesLoc.WebServiceClient client) { }
/// <summary> /// Данный метод предназначен для первоначальной передачи информации о посылках. /// </summary> /// <param name="client"></param> public static void CreatePreadvice(refHermesLoc.WebServiceClient client) { }