190 lines
5.6 KiB
C#
190 lines
5.6 KiB
C#
using System;
|
|
using System.Collections;
|
|
using ASPNET.StarterKit.DataAccessLayer;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using FileHelpers;
|
|
using System.Web;
|
|
using Telerik.Web.UI;
|
|
|
|
namespace ASPNET.StarterKit.BusinessLogicLayer
|
|
{
|
|
public class Team
|
|
{
|
|
private int _Id;
|
|
private MembershipAppUser _ManagerUser;
|
|
private string _Name;
|
|
private List<MembershipAppUser> _Members;
|
|
public Team(string name, MembershipAppUser owner)
|
|
: this(name, owner, new List<MembershipAppUser>(), DefaultValues.GetMinTeamID())
|
|
{
|
|
}
|
|
|
|
|
|
public Team(string name, MembershipAppUser owner,List<MembershipAppUser> members, int id)
|
|
{
|
|
// Validate Mandatory Fields//
|
|
if (owner == null)
|
|
throw (new NullReferenceException("owner"));
|
|
if (String.IsNullOrEmpty(name))
|
|
throw (new NullReferenceException("name"));
|
|
|
|
|
|
_Id = id;
|
|
_ManagerUser = owner;
|
|
_Name = name;
|
|
_Members = members;
|
|
}
|
|
|
|
/*** PROPERTIES ***/
|
|
public int Id
|
|
{
|
|
get { return _Id; }
|
|
}
|
|
|
|
public string ManagerUserName
|
|
{
|
|
get
|
|
{
|
|
if (_ManagerUser == null)
|
|
return string.Empty;
|
|
else
|
|
return _ManagerUser.UserName;
|
|
}
|
|
|
|
}
|
|
public Guid ManagerUserId
|
|
{
|
|
get
|
|
{
|
|
if (_ManagerUser == null)
|
|
return Guid.Empty;
|
|
else
|
|
return _ManagerUser.UserID;
|
|
}
|
|
|
|
}
|
|
public string Name
|
|
{
|
|
get
|
|
{
|
|
if (String.IsNullOrEmpty(_Name))
|
|
return string.Empty;
|
|
else
|
|
return _Name;
|
|
}
|
|
set { _Name = value; }
|
|
}
|
|
public List<MembershipAppUser> Members { get { return this._Members; } }
|
|
/*** METHODS ***/
|
|
public bool Delete()
|
|
{
|
|
if (this.Id > DefaultValues.GetTimeEntryIdMinValue())
|
|
{
|
|
DataAccess DALLayer = DataAccessHelper.GetDataAccess();
|
|
return DALLayer.DeleteTeam(this.Id);
|
|
}
|
|
else
|
|
return false;
|
|
}
|
|
|
|
public bool Save()
|
|
{
|
|
DataAccess DALLayer = DataAccessHelper.GetDataAccess();
|
|
if (Id <= DefaultValues.GetTimeEntryIdMinValue())
|
|
{
|
|
int TempId = DALLayer.CreateNewTeam(this);
|
|
if (TempId > DefaultValues.GetTimeEntryIdMinValue())
|
|
{
|
|
_Id = TempId;
|
|
return true;
|
|
}
|
|
else
|
|
return false;
|
|
}
|
|
else
|
|
return (DALLayer.UpdateTeam(this));
|
|
}
|
|
|
|
/*** METHOD STATIC ***/
|
|
public static bool AddUserToTeam(int TeamId, string userName, int role)
|
|
{
|
|
|
|
if (TeamId <= DefaultValues.GetMinTeamID())
|
|
throw (new ArgumentOutOfRangeException("TeamId"));
|
|
|
|
if (String.IsNullOrEmpty(userName))
|
|
throw (new NullReferenceException("userName"));
|
|
|
|
|
|
DataAccess DALLayer = DataAccessHelper.GetDataAccess();
|
|
return (DALLayer.AddUserToTeam(TeamId, userName, role));
|
|
}
|
|
|
|
public static bool DeleteTeam(int Id)
|
|
{
|
|
if (Id <= DefaultValues.GetMinTeamID())
|
|
throw (new ArgumentOutOfRangeException("Id"));
|
|
|
|
DataAccess DALLayer = DataAccessHelper.GetDataAccess();
|
|
return (DALLayer.DeleteTeam(Id));
|
|
}
|
|
|
|
public static List<Team> GetAllTeams()
|
|
{
|
|
DataAccess DALLayer = DataAccessHelper.GetDataAccess();
|
|
return (DALLayer.GetAllTeams());
|
|
}
|
|
|
|
public static Team GetTeamById(int Id)
|
|
{
|
|
if (Id <= DefaultValues.GetMinTeamID())
|
|
return (null);
|
|
|
|
DataAccess DALLayer = DataAccessHelper.GetDataAccess();
|
|
return (DALLayer.GetTeamById(Id));
|
|
}
|
|
|
|
public static List<Team> GetTeamsByManagerUserName(string userName)
|
|
{
|
|
if (String.IsNullOrEmpty(userName))
|
|
return (new List<Team>());
|
|
|
|
DataAccess DALLayer = DataAccessHelper.GetDataAccess();
|
|
List<Team> teams = DALLayer.GetTeamsByManagerUserName(userName);
|
|
|
|
return teams;
|
|
}
|
|
|
|
public static List<MembershipAppUser> GetTeamMembers(int Id)
|
|
{
|
|
if (Id <= DefaultValues.GetMinTeamID())
|
|
return (new List<MembershipAppUser>());
|
|
|
|
DataAccess DALLayer = DataAccessHelper.GetDataAccess();
|
|
return (DALLayer.GetTeamMembers(Id));
|
|
}
|
|
public static List<MembershipAppUser> GetTeamMembersByManager(string ManagerName)
|
|
{
|
|
if (string.IsNullOrEmpty(ManagerName))
|
|
return (new List<MembershipAppUser>());
|
|
|
|
DataAccess DALLayer = DataAccessHelper.GetDataAccess();
|
|
return (DALLayer.GetTeamMembersByManager(ManagerName));
|
|
}
|
|
public static bool RemoveUserFromTeam(int teamId, string userName)
|
|
{
|
|
|
|
if (teamId <= DefaultValues.GetMinTeamID())
|
|
throw (new ArgumentOutOfRangeException("teamId"));
|
|
|
|
if (String.IsNullOrEmpty(userName))
|
|
throw (new NullReferenceException("userName"));
|
|
|
|
|
|
DataAccess DALLayer = DataAccessHelper.GetDataAccess();
|
|
return (DALLayer.RemoveUserFromTeam(teamId, userName));
|
|
}
|
|
}
|
|
}
|