using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Text.RegularExpressions; using BeWo.Report; using BeWo.Report.ReportObjects; using BeWo.Service.DCEntityMapper; using BS.Shared; using BS.Shared.Core; using BS.Shared.Extensions; using DevExpress.XtraReports.UI; namespace ProBalance { public partial class StundenzettelGruppe : DevExpress.XtraReports.UI.XtraReport, IBeWoReport { public StundenzettelGruppe() { InitializeComponent(); } public void SetReportDataSource(ServicesOverviewRO pRO) { var rate = GetHourlyRate(pRO); lblStundensatz.Text = String.Format("{0:0.00 €}", rate); if (pRO.Services != null) { List servicesBillable = new List(); foreach (ServicesOverviewRO.ServiceDetail s in pRO.Services) { if (s.IsBillable) { if (s.IsGroup) { s.Minutes = s.Minutes / 60; s.FLSQualified = s.Minutes * Convert.ToDouble(rate); //sd.Notice5 = String.Format("{0} Teilnehmer", sd.CustomerCount); servicesBillable.Add(s); } } } pRO.Services = servicesBillable; } this.bindingSource1.DataSource = pRO; } private decimal GetHourlyRate(ServicesOverviewRO pRO) { if (pRO.CostBearer2SupportConceptList.Count > 0) { var c2s = pRO.CostBearer2SupportConceptList[0]; var dcList = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(c2s.CostBearer.CostRatePeriods); var rf = dcList.GetCostRatePeriodForDate(CostRatePeriodType.HourlyRate, pRO.StartDate); if (rf != null && rf.CostRateValue.HasValue) { return rf.CostRateValue.Value; } } return 1; } } }