Files
BeWoPlaner/Service/Plugins/UserService.cs

142 lines
4.9 KiB
C#
Raw Normal View History

2019-08-01 11:27:28 +02:00
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using BeWo.Data;
using BeWo.Data.Access;
using BeWo.Data.Entities;
2023-11-08 00:34:17 +01:00
using BeWo.Data.Security;
2019-08-01 11:27:28 +02:00
using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.MessageContracts;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Services;
using Utils = BeWo.Service.Core.Utils;
namespace BeWo.Service.Plugins
{
public class UserService : AbstractIDSpecificDefaultClass<UserService>
{
//Für alte Versionen, kann später weg
2019-08-01 11:27:28 +02:00
public virtual UserDC LoadUserByLoginName(string pUserName)
{
UserDC userDC = null;
ApplicationUser user = DAOFactory.UserDAO.FindUserByLoginName(pUserName);
if (user != null)
{
userDC = MapperFactory.UserDC_User.MapToNewDC(user);
CompactEmployeeDC emp = userDC.Employee;
if (emp != null)
{
//foreach (var item in user.Employee.Employee2CustomerList)
//{
// if (emp.RelatedCustomerOIDList == null)
// emp.RelatedCustomerOIDList = new List<long>();
// emp.RelatedCustomerOIDList.Add(item.CustomerOid.Value);
//}
emp.AllTeamMemberOids = new List<long>();
if (user.Employee.LeadingTeams.Count > 0)
{
emp.IsTeamLeader = true;
List<long> oids = new List<long>();
foreach (var item in user.Employee.LeadingTeams)
{
oids.Add(item.Oid.Value);
foreach (var member in item.MemberList)
{
emp.AllTeamMemberOids.Add(member.Oid.Value);
}
}
emp.LeadingTeamOids = oids;
}
2022-03-11 08:28:19 +01:00
//var teams = DAOFactory.SearchDAO.FindAllActiveTeamsOfEmployee(emp.EmployeeOid);
//emp.TeamOids = new List<long>();
//foreach (var t in teams)
//{
// emp.TeamOids.Add(t.Oid.Value);
2019-08-01 11:27:28 +02:00
2022-03-11 08:28:19 +01:00
// foreach (var member in t.MemberList)
// {
// emp.AllTeamMemberOids.Add(member.Oid.Value);
// }
//}
2019-08-01 11:27:28 +02:00
}
}
return userDC;
}
public virtual UserDC LoadUserByLoginName(string pUserName, string password)
{
UserDC userDC = null;
ApplicationUser user = DAOFactory.UserDAO.FindUserByLoginName(pUserName);
if (user != null && user.IsActive == ActivationTypeId.Active && DAOFactory.UserDAO.CheckPassword(user, password))
{
userDC = MapperFactory.UserDC_User.MapToNewDC(user);
CompactEmployeeDC emp = userDC.Employee;
if (emp != null)
{
//foreach (var item in user.Employee.Employee2CustomerList)
//{
// if (emp.RelatedCustomerOIDList == null)
// emp.RelatedCustomerOIDList = new List<long>();
// emp.RelatedCustomerOIDList.Add(item.CustomerOid.Value);
//}
emp.AllTeamMemberOids = new List<long>();
2022-04-06 11:49:20 +02:00
emp.TeamOids = new List<long>();
if (user.Employee.LeadingTeams.Count > 0)
{
emp.IsTeamLeader = true;
List<long> oids = new List<long>();
foreach (var item in user.Employee.LeadingTeams)
{
oids.Add(item.Oid.Value);
foreach (var member in item.MemberList)
{
emp.AllTeamMemberOids.Add(member.Oid.Value);
}
}
emp.LeadingTeamOids = oids;
}
2022-03-11 08:28:19 +01:00
//var teams = DAOFactory.SearchDAO.FindAllActiveTeamsOfEmployee(emp.EmployeeOid);
//emp.TeamOids = new List<long>();
//foreach (var t in teams)
//{
// emp.TeamOids.Add(t.Oid.Value);
2022-03-11 08:28:19 +01:00
// foreach (var member in t.MemberList)
// {
// emp.AllTeamMemberOids.Add(member.Oid.Value);
// }
//}
}
2023-11-08 00:34:17 +01:00
UserRightHelper.CheckRightVersion(userDC);
}
2023-10-29 21:33:19 +01:00
return userDC;
}
2023-11-08 00:34:17 +01:00
2019-08-01 11:27:28 +02:00
}
}