using System;
using System.Collections;
using System.ComponentModel;
using DevExpress.XtraReports.UI;
using BeWo.Report.ReportObjects;
using BeWo.Report;
using System.Collections.Generic;

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

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

                foreach (ServicesOverviewRO.ServiceDetail s in pRO.Services)
                {
                    if (s.IsBillable)
                        servicesBillable.Add(s);
                }

                pRO.Services = servicesBillable;
            }

			

			

	        var minutesWithFactor = pRO.TotalFLMBillable*(double)pRO.RateFactor;

			DateTime dt = DateTime.Now.Date.AddMinutes(minutesWithFactor);
			TimeSpan tspan = dt.Subtract(DateTime.Now.Date);

			double d = tspan.TotalHours;
			d = Math.Floor(d);


	        cellHoursMinutes.Text = pRO.TotalFLHoursMinutesString;
			cellHoursMinutesFactor.Text = String.Format("{0}:{1:00}", d, tspan.Minutes);
			cellHoursFactor.Text = String.Format("{0:0.00}", minutesWithFactor / 60);

            this.bindingSource1.DataSource = pRO;
        }
    }
}
