using System; using System.Collections.Generic; using System.Linq; using BeWo.Data; using BeWo.Data.Access; using BeWo.Data.Entities; using BeWo.Service.DCEntityMapper; using BeWo.Service.Plugins; using BS.Shared; using BS.Shared.Core; using BS.Shared.DataContracts; using BS.Shared.DataContracts.Compact; using BS.Shared.Extensions; namespace DomizielAnsbach.Service { public class CustomOperationService : OperationService { private ServiceDescription leistungSchulbegleitung; private ServiceDescription leistungWegezeit; private ServiceDescription leistungSonderzeit; private ServiceDescription leistungBusbegleitung; protected override IList CreateServiceRecords(Arbeitszeit arbeitszeit, DateTime datum, CostBearer2SupportConcept c2s, ServiceDescription defaultSd) { return base.CreateServiceRecords(arbeitszeit, datum, c2s, defaultSd); } public override ServiceRecord CreateServiceRecord(ArbeitszeitEintrag ae, DateTime datum, CostBearer2SupportConcept c2s, ServiceDescription defaultSd) { var leistung = GetLeistungSonderzeit(); if (!String.IsNullOrEmpty(ae.Notice)) { //if (ae.Notice.ToLower().Contains("bus")) //{ // leistung = GetLeistungBusbegleitung(); //} //else if (ae.Notice.StartsWith("Un")) // Unterricht, es gibt leider so viele Tippfehler in der Notice z.B. Unerricht, Unttericht etc. dass ich denke ein Prüfen auf "Un" genügt { leistung = GetDefaultServiceDescription(); } //else if (ae.Notice.Contains("Befö")) //{ // leistung = GetLeistungWegezeit(); // Beförderung mit allen fantasievollen Schreibweisen. //} } var sr = base.CreateServiceRecord(ae, datum, c2s, leistung); return sr; } public override ServiceDescription GetDefaultServiceDescription(CostBearer2SupportConcept c2s) { return GetDefaultServiceDescription(); } public override ServiceDescription GetDefaultServiceDescription() { if (leistungSchulbegleitung == null) { leistungSchulbegleitung = DAOFactory.GenericDAO.LoadByID(13); } return leistungSchulbegleitung; } private ServiceDescription GetLeistungWegezeit() { if (leistungWegezeit == null) { leistungWegezeit = DAOFactory.GenericDAO.LoadByID(14); } return leistungWegezeit; } private ServiceDescription GetLeistungSonderzeit() { if (leistungSonderzeit == null) { leistungSonderzeit = DAOFactory.GenericDAO.LoadByID(15); } return leistungSonderzeit; } private ServiceDescription GetLeistungBusbegleitung() { if (leistungBusbegleitung == null) { leistungBusbegleitung = DAOFactory.GenericDAO.LoadByID(17); } return leistungBusbegleitung; } } }