Exago .NET API Documentation
RoleCollection Class
Members  Example 
WebReports.Api.Roles Namespace : RoleCollection Class
A RoleCollection represents a collection of all of the Roles in the system configuration. Do not instantiate this collection, instead access it through the api.Roles property.
Syntax
public class RoleCollection : WebReports.Api.Common.ConfigCollection<Role> 
Remarks

Collection classes are enumerable Lists of a specific object type.

See the Example section for ways to iterate through and manipulate Collections.

Example
Various ways to interact with Collection objects.
/* Usings */
using System.Linq;
using WebReports.Api;
using WebReports.Api.Common;

/* Namespace and Class definitions omitted */

Logger Logger = Log.GetLogger();
Api Api = new Api("/Exago/");

EntityCollection Entities = Api.Entities; // get the static Api.Entities Collection by reference

foreach (Entity Entity in Entities) // iterate through the EntityCollection and log all items
    Logger.InfoFormat("Original - Entity: '{0}'", Entity.Name);

// List methods may be overridden or overloaded depending on the Collection type
Entities.Add(new Entity(Api.PageInfo, "Customers")); // add a new Entity "Customers" to Entities
Entities.Remove(Entities.GetEntity("Orders")); // remove Entity "Orders" from Entities

foreach (Entity Entity in Entities) // iterate and log again
    Logger.InfoFormat("Modified - Entity: '{0}'", Entity.Name);

// Standard List and IEnumerable Linq methods can be used on Collection objects
Entities.OrderBy(Entity => Entity.Name) // sort Entities by Entity.Name
// (Order does not matter for every Collection type)

// Iterate and log again, this time using List<T>.ForEach
Entities.ForEach(Entity => Logger.InfoFormat("Sorted - Entity: '{0}'", Entity.Name));

/*
This code writes the following output to the Exago logfile (in an example configuration):

Original - Entity: 'Orders'
Original - Entity: 'Products'
Modified - Entity: 'Products'
Modified - Entity: 'Customers'
Sorted - Entity: 'Customers'
Sorted - Entity: 'Products'

*/
Inheritance Hierarchy

System.Object
      WebReports.Api.Roles.RoleCollection

See Also

Reference

RoleCollection Members
WebReports.Api.Roles Namespace