using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Linq;
using MercatorApi;
using MercatorExtensions;
using MercatorUi;
using MercatorDatabase;

namespace Gescom
{
    public class Customizer : MercatorUi.ICustomizers.IStringUpdater
    {
        public string StringUpdate(string stringToModify)
        {
            string id = Api.StrExtract(stringToModify, "<ID>", "</ID>");
            if (id == "EINVOICE_IMPORT_ITEM")
            {
                stringToModify = stringToModify.Replace("/*search on s_modele*/",
                    @"declare @name varchar(100)
                    select @name = @InvoiceLineXml.value(
                        'declare namespace cac=""urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"";
                        declare namespace cbc=""urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"";
                        (/cac:InvoiceLine/cac:Item/cbc:Name/text())[1]', 'varchar(100)')

                    if (@name is not null) and exists (select * from STOCK (NOLOCK) where s_cle1=@name)
                    begin
                        select top 1 * from STOCK (NOLOCK) where s_cle1=@name
                        return
                    end

                    /*search on s_modele*/".UnIndent(5));
            }
            return stringToModify;
        }
    }
}