using System;
using System.Collections.Generic;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;

namespace BeWo.Scheduler.View
{
	public partial class MitarbeiterverfuegbarkeitsinfoView
	{
		public List<MitarbeiterVerfuegbarkeitsstruct> Verfuegbarkeiten { get; set; }

		public MitarbeiterverfuegbarkeitsinfoView(Dictionary<CompactEmployeeDC, decimal> pMitarbeiterZuUeberstunden, DateTime pStart, DateTime pEnde)
		{
			InitializeComponent();
			root.DataContext = this;

			rootGroupBox.Header = String.Format("Mitarbeiterverfügbarkeiten für den Zeitraum vom {0} bis {1}", pStart.ToString("dd.MM.yyyy hh:mm"), pEnde.ToString("dd.MM.yyyy hh:mm"));

			Verfuegbarkeiten = new List<MitarbeiterVerfuegbarkeitsstruct>();
			pMitarbeiterZuUeberstunden.DoForEach(kvp => Verfuegbarkeiten.Add(new MitarbeiterVerfuegbarkeitsstruct(kvp.Key, kvp.Value)));
		}
	}

	public class MitarbeiterVerfuegbarkeitsstruct
	{
		public CompactEmployeeDC Mitarbeiter  { get; set; }
		public decimal           Ueberstunden { get; set; }

		public MitarbeiterVerfuegbarkeitsstruct (CompactEmployeeDC mitarbeiter, decimal ueberstunden)
		{
			Mitarbeiter  = mitarbeiter;
			Ueberstunden = ueberstunden;
		}
	}
}
