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

namespace Main
{
    public class Customizer : MercatorUi.ICustomizers.IExec
    {

        public void Main(MercatorUi.ICustomizers.ExecAction Action)
        {
            if (Action == MercatorUi.ICustomizers.ExecAction.DossierOpen)
            {
                Globals.Main.BaseFormCreating += new MercatorUi.Main.BaseFormCreatingEventHandler(Main_BaseFormCreating);
            }
            else if (Action == MercatorUi.ICustomizers.ExecAction.DossierClose)
            {
                Globals.Main.BaseFormCreating -= new MercatorUi.Main.BaseFormCreatingEventHandler(Main_BaseFormCreating);
            }
        }

        void Main_BaseFormCreating(object sender, MercatorUi.Main.BaseFormCreatingEventArgs e)
        {
            if (e.Form is MercatorUi.Forms.Action.CrmTasksForm)
            {
                MercatorUi.Forms.Action.CrmTasksForm crmTasksForm = (MercatorUi.Forms.Action.CrmTasksForm)e.Form;
                crmTasksForm.AddingTask += CrmTasksForm_AddingTask;
                crmTasksForm.FormClosed += CrmTasksForm_FormClosed;
            }
        }

        private void CrmTasksForm_FormClosed(object sender, System.Windows.Forms.FormClosedEventArgs e)
        {
            MercatorUi.Forms.Action.CrmTasksForm crmTasksForm = (MercatorUi.Forms.Action.CrmTasksForm)sender;
            crmTasksForm.AddingTask -= CrmTasksForm_AddingTask;
            crmTasksForm.FormClosed -= CrmTasksForm_FormClosed;
        }

        private void CrmTasksForm_AddingTask(object sender, MercatorUi.Forms.Action.CrmTasksForm.AddingTaskEventArgs e)
        {
            DateTime moment_1 = Convert.ToDateTime(e.TaskNode.Dr["customColumn2"]);
            if (moment_1.Date == DateTime.Today)
            {
                e.TaskNode.Style = new DevComponents.DotNetBar.ElementStyle();
                e.TaskNode.Style.BackColor = System.Drawing.Color.Red;
                e.TaskNode.Style.BackColor2 = System.Drawing.Color.Red;
            }
        }

    }
}