using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorController;
using System.Windows.Forms;
using MercatorExtensions;
using MercatorUi;
using System.Data.SqlClient;
// <CompileWithRoslyn />
namespace MercatorUi.MovableControls.ButtonsCodes
{
public static class Script
{
public static void Exec(MercatorUi.MovableControls.MovableButton clickedButton)
{
// enter your customized code here
Forms.Billing.BillingForm billingForm = (Forms.Billing.BillingForm)clickedButton.Form;
string peppol_response = Api.StrExtract(billingForm.BillingEngine.PiedsVRecord.PEPPOL_RESPONSE, "<Ibanity>", "</Ibanity>");
if (peppol_response == "")
{
MercatorUi.Dialogs.Stop("Ce document n'a jamais été envoyé dans le réseau Peppol !");
return;
}
MercatorUi.Ibanity.CreatePeppolInvoiceResponse createPeppolInvoiceResponse = Api.JsonConvertDeserializeObject<MercatorUi.Ibanity.CreatePeppolInvoiceResponse>(peppol_response);
MercatorUi.Ibanity.GetPeppolInvoiceResponse r = MercatorUi.Ibanity.PeppolInvoiceUploadStatus(createPeppolInvoiceResponse.data.id, out string error);
if (error != null)
Dialogs.Stop(error);
else
Dialogs.Stop("Statut = " + (r.data.attributes.status == null ? "indéterminé" : r.data.attributes.status)
+ (!string.IsNullOrEmpty(r.data.attributes.transmissionId) ? "\r\n" + r.data.attributes.transmissionId : "")
+ ((r.data.attributes.errors != null) && (r.data.attributes.errors.Count > 0) ? "\r\nCode erreur = " + r.data.attributes.errors[0].code + "\r\n" + r.data.attributes.errors[0].detail : "")
);
}
}
}