public Role(BasicPersonRole org) : base(org) { organisationName = Organization.FromIdentity(this.OrganizationId).Name; personName = Person.FromIdentity(this.PersonId).Name; roleName = Enum.GetName(this.Type.GetType(), this.Type); geographyName = ""; if (RoleTypes.ClassOfRole(this.Type) == RoleClass.Local) { if (GeographyId > 0) { geographyName = Geography.FromIdentity(GeographyId).Name; } } }
public BasicAuthority GetPersonAuthority(IHasIdentity person) { List <BasicPersonRole> systemRoles = new List <BasicPersonRole>(); List <BasicPersonRole> organizationRoles = new List <BasicPersonRole>(); List <BasicPersonRole> localRoles = new List <BasicPersonRole>(); using (DbConnection connection = GetMySqlDbConnection()) { connection.Open(); DbCommand command = GetDbCommand("SELECT " + personRoleFieldSequence + ConstructWhereClause("PersonRoles", person), connection); using (DbDataReader reader = command.ExecuteReader()) { while (reader.Read()) { BasicPersonRole newPersonRole = ReadPersonRoleFromDataReader(reader); switch (RoleTypes.ClassOfRole(newPersonRole.Type)) { case RoleClass.System: systemRoles.Add(newPersonRole); break; case RoleClass.Organization: organizationRoles.Add(newPersonRole); break; case RoleClass.Local: localRoles.Add(newPersonRole); break; default: throw new InvalidOperationException("Invalid RoleTypeId (" + newPersonRole.Type + ") in database for PersonId " + person.Identity.ToString()); } } return(new BasicAuthority(person.Identity, systemRoles.ToArray(), organizationRoles.ToArray(), localRoles.ToArray())); } } }
public BasicAuthority(int personId, BasicPersonRole[] systemPersonRoles, BasicPersonRole[] organizationPersonRoles, BasicPersonRole[] nodePersonRoles) { if (personId < 1) { throw new ArgumentOutOfRangeException("PersonId cannot be " + personId.ToString()); } this.PersonId = personId; this.SystemPersonRoles = systemPersonRoles; this.OrganizationPersonRoles = organizationPersonRoles; this.LocalPersonRoles = nodePersonRoles; if (this.SystemPersonRoles == null) { this.SystemPersonRoles = new BasicPersonRole[0]; } if (this.OrganizationPersonRoles == null) { this.OrganizationPersonRoles = new BasicPersonRole[0]; } if (this.LocalPersonRoles == null) { this.LocalPersonRoles = new BasicPersonRole[0]; } AllPersonRoles = new BasicPersonRole[SystemPersonRoles.Length + OrganizationPersonRoles.Length + LocalPersonRoles.Length]; if (SystemPersonRoles.Length > 0) { SystemPersonRoles.CopyTo(AllPersonRoles, 0); } if (OrganizationPersonRoles.Length > 0) { OrganizationPersonRoles.CopyTo(AllPersonRoles, SystemPersonRoles.Length); } if (LocalPersonRoles.Length > 0) { LocalPersonRoles.CopyTo(AllPersonRoles, SystemPersonRoles.Length + OrganizationPersonRoles.Length); } }
public BasicAuthority (int personId, BasicPersonRole[] systemPersonRoles, BasicPersonRole[] organizationPersonRoles, BasicPersonRole[] nodePersonRoles) { if (personId < 1) { throw new ArgumentOutOfRangeException("PersonId cannot be " + personId.ToString()); } this.PersonId = personId; this.SystemPersonRoles = systemPersonRoles; this.OrganizationPersonRoles = organizationPersonRoles; this.LocalPersonRoles = nodePersonRoles; if (this.SystemPersonRoles == null) { this.SystemPersonRoles = new BasicPersonRole[0]; } if (this.OrganizationPersonRoles == null) { this.OrganizationPersonRoles = new BasicPersonRole[0]; } if (this.LocalPersonRoles == null) { this.LocalPersonRoles = new BasicPersonRole[0]; } AllPersonRoles = new BasicPersonRole[SystemPersonRoles.Length + OrganizationPersonRoles.Length + LocalPersonRoles.Length]; if (SystemPersonRoles.Length > 0) SystemPersonRoles.CopyTo(AllPersonRoles, 0); if (OrganizationPersonRoles.Length > 0) OrganizationPersonRoles.CopyTo(AllPersonRoles, SystemPersonRoles.Length); if (LocalPersonRoles.Length > 0) LocalPersonRoles.CopyTo(AllPersonRoles, SystemPersonRoles.Length + OrganizationPersonRoles.Length); }
public static PersonRole FromBasic(BasicPersonRole basic) { return(new PersonRole(basic)); }
private PersonRole(BasicPersonRole basic) : base(basic) { }