using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MercatorApi;
using MercatorController;
using MercatorExtensions;
using System.Linq;

namespace MercatorUi.Reporting
{
    public class Customizer : MercatorUi.ICustomizers.IReportingWindowFormLoaded
    {
        public void ReportingWindowFormLoaded(MercatorUi.Forms.Reporting.ReportingWindowForm reportingWindowForm)
        {
            reportingWindowForm.GridPopulated += ReportingWindowForm_GridPopulated;
        }

        private void ReportingWindowForm_GridPopulated(object sender, EventArgs e)
        {
            MercatorUi.Forms.Reporting.ReportingWindowForm reportingWindowForm = (MercatorUi.Forms.Reporting.ReportingWindowForm)sender;
            if (reportingWindowForm.DataRowDocum["id"].ToString() == "HB3JUX4M3E") // Id van het rapport "Lopende bestellingen"                 
            {
                DataTable dt = (DataTable)reportingWindowForm.Grid.DataSource;
                DataRow drNew = dt.NewRow();
                Api.DataRowResetContent(drNew);
                drNew["s_modele"] = "TOTAL";
                drNew["tot_q"] = dt.RowsEnumerable().Sum(dr => dr.Value<double>("tot_q"));
                dt.Rows.Add(drNew);

                reportingWindowForm.LabelParameters.Text += Environment.NewLine + "Het totaal is berekend via de gebeurtenis GridPopulated!";
            }
        }
    }
}