Example #1
0
 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, ""));
     }
 }
Example #2
0
 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);
     }
 }
Example #3
0
        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()) );
        }
Example #4
0
        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);
        }
Example #5
0
        /// <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);
        }
Example #7
0
        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();
        }
Example #8
0
 public static void ConfigureEdi()
 {
     try { EdiService.Configure(); }
     catch (Exception ex) { Utilites.Error(ex); }
 }