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;
         }
     }
 }
Ejemplo n.º 2
0
        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()));
                }
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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);

        }
Ejemplo n.º 5
0
 public static PersonRole FromBasic(BasicPersonRole basic)
 {
     return(new PersonRole(basic));
 }
Ejemplo n.º 6
0
 private PersonRole(BasicPersonRole basic) : base(basic)
 {
 }