Files
BeWoPlaner/ReportImp/DerKarren/Service/UserService.cs

66 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.MessageContracts;
using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.Shared.Services;
using Utils = BS.Shared.Core.Utils;
namespace BeWo.DerKarren.Service
{
public class CustomUserService : UserService
{
public override UserDC LoadUserByLoginName(string pUserName, string password)
{
var user = base.LoadUserByLoginName(pUserName, password);
bool isTeamleiter = false;
foreach (var group in user.UserGroups)
{
if (group.Name.Contains("Teamleitung"))
{
isTeamleiter = true;
}
}
if (isTeamleiter)
{
var emp = user.Employee;
var teams = DAOFactory.SearchDAO.FindAllActiveTeamsOfEmployee(emp.EmployeeOid);
emp.TeamOids = new List<long>();
foreach (var t in teams)
{
emp.TeamOids.Add(t.Oid.Value);
foreach (var member in t.MemberList)
{
emp.AllTeamMemberOids.Add(member.Oid.Value);
}
}
foreach (var toid in user.Employee.TeamOids)
{
if (user.Employee.LeadingTeamOids == null)
{
user.Employee.LeadingTeamOids = new List<long>();
}
if (!user.Employee.LeadingTeamOids.Contains(toid))
{
user.Employee.LeadingTeamOids.Add(toid);
}
}
}
return user;
}
}
}