using System; using System.Collections.Generic; using System.IO; using System.Linq; using BeWo.Data; using BeWo.Data.Access; using BeWo.Data.Entities; using BeWo.Data.Security; using BeWo.Service.DCEntityMapper; using BS.Shared; using BS.Shared.Core; using BS.Shared.DataContracts; using BS.Shared.DataContracts.Compact; using BS.Shared.Extensions; using BS.Shared.Services; namespace BeWo.Service.Plugins { public class UserService : AbstractIDSpecificDefaultClass { //Für alte Versionen, kann später weg 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(); // emp.RelatedCustomerOIDList.Add(item.CustomerOid.Value); //} emp.AllTeamMemberOids = new List(); if (user.Employee.LeadingTeams.Count > 0) { emp.IsTeamLeader = true; List oids = new List(); 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; } //var teams = DAOFactory.SearchDAO.FindAllActiveTeamsOfEmployee(emp.EmployeeOid); //emp.TeamOids = new List(); //foreach (var t in teams) //{ // emp.TeamOids.Add(t.Oid.Value); // foreach (var member in t.MemberList) // { // emp.AllTeamMemberOids.Add(member.Oid.Value); // } //} } } 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(); // emp.RelatedCustomerOIDList.Add(item.CustomerOid.Value); //} emp.AllTeamMemberOids = new List(); emp.TeamOids = new List(); if (user.Employee.LeadingTeams.Count > 0) { emp.IsTeamLeader = true; List oids = new List(); 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; } //var teams = DAOFactory.SearchDAO.FindAllActiveTeamsOfEmployee(emp.EmployeeOid); //emp.TeamOids = new List(); //foreach (var t in teams) //{ // emp.TeamOids.Add(t.Oid.Value); // foreach (var member in t.MemberList) // { // emp.AllTeamMemberOids.Add(member.Oid.Value); // } //} } UserRightHelper.CheckRightVersion(userDC); } return userDC; } } }