Example #1
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);
        }