Files
BeWoPlaner/ReportImp/PerspektivenEV/Service/CustomEmployeeService.cs

54 lines
1.7 KiB
C#

using System.Collections.Generic;
using BeWo.Data;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Data.Security;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.DataContracts.Compact;
using DevExpress.Data.Browsing;
namespace PerspektivenEV.Service
{
public class CustomEmployeeService : EmployeeService
{
public override List<CompactEmployeeDC> GetAllActiveEmployeesCompact()
{
var employees = DAOFactory.GenericDAO.GetAllActive<Employee>();
var filteredEmployees = FilterList(employees);
if (filteredEmployees.Count == 0)
{
filteredEmployees = FilterTeamList(employees);
}
return MapperFactory.CompactEmployeeDC_Employee.MapToNewDCs(filteredEmployees);
}
public static IList<Employee> FilterTeamList(IList<Employee> employees)
{
List<Employee> newList = new List<Employee>();
var loggedInUser = UserRightHelper.GetLoggedInUser();
var teams = DAOFactory.SearchDAO.FindAllActiveTeamsOfEmployee(loggedInUser.Employee.Oid.Value);
foreach (var e in employees)
{
if (BelongsToTeam(teams, loggedInUser, e))
{
newList.Add(e);
}
}
return newList;
}
public override List<CompactEmployeeDC> GetAllActiveAndArchivedEmployeesCompact()
{
var employees = DAOFactory.GenericDAO.GetAllActiveAndArchived<Employee>();
return MapperFactory.CompactEmployeeDC_Employee.MapToNewDCs(FilterList(employees));
}
}
}