using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Linq; using System.Windows.Forms; using MercatorApi; using MercatorUi; using MercatorExtensions; using MercatorDatabase; namespace Booking { public class Customizer : MercatorUi.ICustomizers.IBookingEngineCreated, MercatorUi.ICustomizers.IBookingEngineClosed { public void BookingEngineCreated(MercatorUi.Engine.Cpta.BookingEngine bookingEngine) { bookingEngine.BeforeSave += bookingEngine_BeforeSave; } public void BookingEngineClosed(MercatorUi.Engine.Cpta.BookingEngine bookingEngine) { bookingEngine.BeforeSave -= bookingEngine_BeforeSave; } void bookingEngine_BeforeSave(object sender, MercatorUi.Engine.Cpta.BookingEngine.BeforeSaveEventArgs e) { MercatorUi.Engine.Cpta.BookingEngine bookingEngine = (MercatorUi.Engine.Cpta.BookingEngine)sender; if ((bookingEngine.Context == MercatorUi.Engine.Cpta.BookingEngine.ContextEnum.PostIntoAccounting) && (bookingEngine.Type == 2) // achat && (bookingEngine.PIEDS_C.Value<double>("escpte_pc").CompareTo(0, 2) != 0) && (_Divers.Get_ESC_ND_TVA(bookingEngine.PIEDS_C) == "OUI") // escompte non déduit mouvemente la base TVA && (bookingEngine.PIEDS_C.Value<double>("HeaderTotal").CompareTo(0, Globals.DEC_DEV_C) != 0) && (Globals.Params["CODTVAESCA"] != "")) { foreach (DataRow bookingLine in bookingEngine.LIGNES_C.Select("id_tva = ''")) bookingLine["id_tva"] = Globals.Params["CODTVAESCA"]; bookingEngine.UpdateAmounts(); } } } }