using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using MercatorApi;
using MercatorExtensions;
using MercatorUi;
using System.Drawing;
using MercatorUi.GridPro;
// <CompileWithRoslyn />
namespace HistCli
{
public class Customizer : MercatorUi.ICustomizers.IGridUnifiedCustomizer
{
public void GridUnifiedCustomize(GridUnifiedCustomizerContainer gridUnifiedCustomizerContainer)
{
gridUnifiedCustomizerContainer.StringUpdater = (reqSql) =>
{
string journal = Api.StrExtract(reqSql, "pieds_v.journal='", "'").TrimEnd();
if (journal == "VEN")
reqSql = reqSql.Replace("date,", "date,echeance,");
gridUnifiedCustomizerContainer.GridUpdater = () =>
{
if ((journal == "VEN") && !gridUnifiedCustomizerContainer.Grid.Columns.Contains("echeance"))
{
gridUnifiedCustomizerContainer.Grid.Columns.Add("echeance", "Echéance");
gridUnifiedCustomizerContainer.Grid.Columns["echeance"].Width = 85;
gridUnifiedCustomizerContainer.Grid.Columns["echeance"].DataPropertyName = "echeance";
gridUnifiedCustomizerContainer.Grid.Columns["echeance"].DefaultCellStyle.Format = Api.Iif(MercatorUi.Globals.DateMDY, "MM/dd/yyyy", "dd/MM/yyyy");
gridUnifiedCustomizerContainer.Grid.CellFormatting += Grid_CellFormatting;
}
else if ((journal != "VEN") && gridUnifiedCustomizerContainer.Grid.Columns.Contains("echeance"))
{
gridUnifiedCustomizerContainer.Grid.CellFormatting -= Grid_CellFormatting;
gridUnifiedCustomizerContainer.Grid.Columns.Remove("echeance");
}
};
gridUnifiedCustomizerContainer.PrefuserKeyCompl = journal == "VEN" ? journal : "";
gridUnifiedCustomizerContainer.Dispose = () =>
{
gridUnifiedCustomizerContainer.Grid.CellFormatting -= Grid_CellFormatting;
};
return reqSql;
};
}
void Grid_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
DataGridView grid = (DataGridView)sender;
if ((grid.Columns[e.ColumnIndex].Name == "echeance") && (grid.Rows[e.RowIndex].Cells["echeance"].Value != DBNull.Value))
{
if (Convert.ToDateTime(e.Value) < DateTime.Now)
e.CellStyle.Font = new Font(e.CellStyle.Font, FontStyle.Bold);
}
}
}
}