private static void AddAdvices(string relPartnerIln, string relDocumentType, string newOrderTrackingId, string relDocumentStandard, string orderPartnerIln) { if (relPartnerIln == orderPartnerIln) { Advices.AddRange(EdiService.Receive <DocumentReceivingAdvice>(relPartnerIln, relDocumentType, newOrderTrackingId, relDocumentStandard, "")); } }
private static void AddOrders(string relPartnerIln, string relDocumentType, string newOrderTrackingId, string relDocumentStandard, string orderPartnerIln) { if (relPartnerIln == orderPartnerIln) { var doc = EdiService.Receive <DocumentOrder>(relPartnerIln, relDocumentType, newOrderTrackingId, relDocumentStandard, "").First(); Orders.Add(doc); } }
public void RefreshRelationships(object o) { if (!string.IsNullOrEmpty(AppConfig.Edi_Password) && !string.IsNullOrEmpty(AppConfig.Edi_GLN) && !string.IsNullOrEmpty(AppConfig.Edi_User)) { EdiService.UpdateData(); } (o as ComboBox).ItemsSource = EdiService.Relationships;//.Where( x => !x.Name.ToUpper().Contains("тестовый".ToUpper()) ); }
internal static void UpdateData(DateTime dateFrom, DateTime dateTo) { NewAdvices = new List <Model.WebModel.DocumentInfo>(); NewAdvices = EdiService.ListMBEx( SelectedRelationship?.partnerIln , SelectedRelationship?.documentType , "" , "" , "" , $"{dateFrom.Year}-{dateFrom.Month}-{dateFrom.Day}" , $"{dateTo.Year}-{dateTo.Month}-{dateTo.Day}" , "" , "" , "") ?? throw new Exception("При загрузке новых уведомлений об отгрузке возникла ошибка"); //LogService.Log($"[INFO] {MethodBase.GetCurrentMethod().DeclaringType} {MethodBase.GetCurrentMethod().Name} args:{LogService.FormatArgsArray(MethodBase.GetCurrentMethod().GetGenericArguments())}", 2); }
/// <summary> /// Отправить ответ на заказ в систему EDI /// </summary> /// <param name="order">отправляемый заказ</param> internal static void SendOrdrsp(DocumentOrderResponse order) { if (order == null) { Utilites.Error("При отправке ответа на заказ: не выбран заказ"); return; } if (order.DocumentParties == null) { Utilites.Error("При отправке ответа на заказ: отсутсвуют части документа(DocumentParties)"); return; } if (order.DocumentParties?.Receiver == null) { Utilites.Error("При отправке ответа на заказ: отсутствует отправитель"); return; } if (String.IsNullOrEmpty(order.DocumentParties.Receiver.ILN)) { Utilites.Error("При отправке ответа на заказ: у отправителя отсутствует GLN"); return; } if (SelectedRelationship == null || SelectedRelationship.documentType == null) { Utilites.Error("При отправке ответа на заказ: не выбран клиент"); return; } if (SelectedRelationship.partnerIln == null) { Utilites.Error("Невозможная ошибка: у клиента отсутствует GLN (звоните в IT-отдел!)"); return; } if (order.DocumentParties.Receiver.ILN != SelectedRelationship.partnerIln) { Utilites.Error("Нельзя отправить документ другому клиенту! Выберите соответствующего документу клиента и повторите отправку."); return; } var sendOrder = XmlService <DocumentOrderResponse> .Serialize(order); EdiService.Send(SelectedRelationship.partnerIln, "ORDRSP", "", "", "", "", sendOrder, 20); var sql = SqlConfiguratorService.Sql_UpdateEdiDocSetIsInEdiAsORDRSP(order.OrderResponseHeader.OrderResponseNumber); DbService.Insert(sql); }
/// <summary> /// Отправить извещение об отгрузке в систему EDI /// </summary> /// <param name="advice">отправляемый заказ</param> internal static void SendDesadv(DocumentDespatchAdvice advice) { if (advice == null) { Utilites.Error("При отправке уведомления об отгрузке: не выбран заказ"); return; } if (advice.DocumentParties == null) { Utilites.Error("При отправке уведомления об отгрузке: отсутсвуют части документа(DocumentParties)"); return; } if (advice.DocumentParties?.Receiver == null) { Utilites.Error("При отправке уведомления об отгрузке: отсутствует отправитель"); return; } if (String.IsNullOrEmpty(advice.DocumentParties.Receiver.ILN)) { Utilites.Error("При отправке уведомления об отгрузке: у отправителя отсутствует GLN"); return; } if (SelectedRelationship == null) { Utilites.Error("При отправке уведомления об отгрузке: не выбран покупатель"); return; } if (SelectedRelationship.partnerIln == null) { Utilites.Error("Невозможная ошибка: у покупателя отсутствует GLN (звоните в IT-отдел!)"); return; } if (advice.DocumentParties.Receiver.ILN != SelectedRelationship.partnerIln) { Utilites.Error("Нельзя отправить документ другому покупателю! Выберите соответствующего документу покупателя и повторите отправку."); return; } var doc = XmlService <DocumentDespatchAdvice> .Serialize(advice); EdiService.Send(SelectedRelationship?.partnerIln, "DESADV", "", "", "", "", doc, 200); var sql = SqlConfiguratorService.Sql_UpdateEdiDocSetIsInEdiAsDESADV(advice.DespatchAdviceHeader.DespatchAdviceNumber); DbService.Insert(sql); }
internal static void UpdateData(DateTime dateFrom, DateTime dateTo) { if (SelectedRelationship == null) { return; } if (SelectedRelationship.partnerIln == null || SelectedRelationship.documentType == null) { return; } NewOrders = EdiService.ListMBEx( SelectedRelationship.partnerIln , SelectedRelationship.documentType , "" , "" , "" , $"{dateFrom.Year}-{dateFrom.Month}-{dateFrom.Day}" , $"{dateTo.Year}-{dateTo.Month}-{dateTo.Day}" , "" , "" , "").Where(x => x?.documentStatus != "Ошибка" || !string.IsNullOrEmpty(x.fileName)).ToList(); }
public static void ConfigureEdi() { try { EdiService.Configure(); } catch (Exception ex) { Utilites.Error(ex); } }