using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorUi;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Linq;
using MercatorExtensions;

namespace SigStock
{
    public class Customizer : MercatorUi.ICustomizers.IFormLoadCustomizer, MercatorUi.ICustomizers.IFormClosedCustomizer
    {
        public void FormLoadCustomize(Form form)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
            MercatorUi.Forms.Sig.SigGrids.ArtFou artFou = sigForm.MovableControls.Values.OfType<MercatorUi.Forms.Sig.SigGrids.ArtFou>().FirstOrDefault();
            if (artFou != null)
                artFou.AfterColumnsCreated += Artfou_AfterColumnsCreated;
        }

        public void FormClosedCustomize(Form form)
        {
            MercatorUi.Forms.Sig.SigForm sigForm = (MercatorUi.Forms.Sig.SigForm)form;
            MercatorUi.Forms.Sig.SigGrids.ArtFou artFou = sigForm.MovableControls.Values.OfType<MercatorUi.Forms.Sig.SigGrids.ArtFou>().FirstOrDefault();
            if (artFou != null)
                artFou.AfterColumnsCreated -= Artfou_AfterColumnsCreated;
        }

        private void Artfou_AfterColumnsCreated(object sender, EventArgs e)
        {
            MercatorUi.Forms.Sig.SigGrids.ArtFou artFou = (MercatorUi.Forms.Sig.SigGrids.ArtFou)sender;
            if (!(Globals.CurrentUserRecord.DEPT.Contains("A") ||
               Globals.CurrentUserRecord.DEPT.Contains("M") ||
               Globals.CurrentUserRecord.DEPT.Contains("I")
               ))
            {
                artFou.Grid.Columns["remise"].Visible = false;
                artFou.Grid.Columns["remise2"].Visible = false;
                artFou.Grid.Columns["remise3"].Visible = false;
                artFou.Grid.Columns["remise4"].Visible = false;
                artFou.Grid.Columns["prix"].Visible = false;
            }
        }
    }
}