Esempio n. 1
0
        // validate all the passed in types to fail at reflection time as far as possible

        #region IAuditManager Members

        public void Invoke(INakedObject nakedObject, INakedObject[] parameters, bool queryOnly, IIdentifier identifier, ISession session, ILifecycleManager lifecycleManager, IMetamodelManager manager)
        {
            IAuditor auditor = GetAuditor(nakedObject, lifecycleManager, manager);

            IPrincipal byPrincipal = session.Principal;
            string     memberName  = identifier.MemberName;

            if (nakedObject.Spec is IServiceSpec)
            {
                string serviceName = nakedObject.Spec.GetTitle(nakedObject);
                auditor.ActionInvoked(byPrincipal, memberName, serviceName, queryOnly, parameters.Select(no => no.GetDomainObject()).ToArray());
            }
            else
            {
                auditor.ActionInvoked(byPrincipal, memberName, nakedObject.GetDomainObject(), queryOnly, parameters.Select(no => no.GetDomainObject()).ToArray());
            }
        }