using System;
using System.Collections;
using System.ComponentModel;
using System.Linq;
using DevExpress.Data.PLinq.Helpers;
using DevExpress.XtraReports.UI;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using System.Collections.Generic;

namespace BeWo.WigonetzReports
{
    public partial class Stundenzettel : DevExpress.XtraReports.UI.XtraReport, IBeWoReport<ServicesOverviewRO>
    {
        public Stundenzettel()
        {
            InitializeComponent();
        }

        public void SetReportDataSource(ServicesOverviewRO pRO)
        {
			Dictionary<string, string> empDict = new Dictionary<string, string>();

	        if (pRO.Services != null)
            {
                List<ServicesOverviewRO.ServiceDetail> servicesBillable = new List<ServicesOverviewRO.ServiceDetail>();

                foreach (ServicesOverviewRO.ServiceDetail s in pRO.Services)
                {
	                if (s.IsBillable)
	                {
		                if (!empDict.ContainsKey(s.EmployeeFullname))
		                {
			                empDict.Add(s.EmployeeFullname, s.EmployeeFullname);
		                }
		                servicesBillable.Add(s);
	                }
                }

                pRO.Services = servicesBillable;
            }
	        if (empDict.Count == 1)
	        {
		        pRO.MainAttendant = empDict.Values.ToArray()[0];
	        }
            this.bindingSource1.DataSource = pRO;
        }
    }
}
