- Projekt Kopie LH Remscheid -> LH Remscheid Frühförderung nach DB Spiegelung - Bugfixing Pool Abrechnung Christopherus Haus - Änderung Ansprechpartner LH Frankfurt Oder - Leistungsnachweis für KK Praxis Pusteblume - Bugfixing Kloss Vertretungssuche und Frau Hildmann diverse Stundenkonten
75 lines
2.7 KiB
C#
75 lines
2.7 KiB
C#
using BeWo.Data.Access;
|
|
using BeWo.Data.Entities;
|
|
using BeWo.Service.DCEntityMapper;
|
|
using BeWo.Service.Plugins;
|
|
using BeWo.Service.SBD;
|
|
using BS.Shared;
|
|
using BS.Shared.DataContracts;
|
|
using BS.Shared.DataContracts.Compact;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
namespace AkggMid.Service
|
|
{
|
|
public class CustomVertretungsManager : VertretungsManager
|
|
{
|
|
public override List<VertretungsItemDC> CreateVertretungsListe(DateTime start, DateTime end)
|
|
{
|
|
var liste = base.CreateVertretungsListe(start, end);
|
|
|
|
return liste;
|
|
}
|
|
|
|
public override List<CompactVertreterEmployeeDC> SucheVertreter(VertreterSucheFilterDC filter)
|
|
{
|
|
var allEmps = DAOFactory.GenericDAO.GetAllActive<Employee>().ToList();
|
|
List<CompactVertreterEmployeeDC> result = new List<CompactVertreterEmployeeDC>();
|
|
var end = filter.EndDate.Date.AddDays(1).AddTicks(-1);
|
|
var absenceTimes = DAOFactory.SearchDAO.FindAbsenceTimes(filter.StartDate, end).ToList();
|
|
var vertretungen = DAOFactory.SearchDAO.FindVertretungen(filter.StartDate, end).Where(v => v.VertretenderMitarbeiterOid.HasValue).ToList();
|
|
var employeeAbsenceTimes = absenceTimes.Where(a => a.EmployeeOid.HasValue).ToList();
|
|
|
|
foreach (var emp in allEmps)
|
|
{
|
|
if (emp.Person.LastName == "Ewald")
|
|
{
|
|
int test = 0;
|
|
}
|
|
//Prüfe ob es ein Schulbegleiter ist
|
|
if (IstSchulbegleiter(emp, filter.StartDate))
|
|
{
|
|
//alle Mitarbeiter, die nicht abwesend sind oder bereits jemand anderen vertreten hinzufügen
|
|
var at = employeeAbsenceTimes.FirstOrDefault(a => a.EmployeeOid == emp.Oid);
|
|
var vertretung = vertretungen.FirstOrDefault(v => v.VertretenderMitarbeiterOid == emp.Oid);
|
|
if (at == null && vertretung == null)
|
|
{
|
|
var vitem = MapperFactory.CompactVertreterEmployeeDC_VertreterEmployee.MapToNewDC(emp);
|
|
result.Add(vitem);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
return result;
|
|
}
|
|
|
|
private bool IstSchulbegleiter(Employee emp, DateTime datum)
|
|
{
|
|
var c = emp.GetValidContractForDate(datum);
|
|
if (c != null && c.EmploymentType != null && (c.EmploymentType.Name == "Schulassistenz" || c.EmploymentType.Name.StartsWith("Springer")))
|
|
{
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|