Exemplo n.º 1
0
        public override IList <AccountAuditEntry> CreateAccountAuditEntries(ISession session, ManagedSecurityContext sec, DataOperation op)
        {
            List <AccountAuditEntry> result = new List <AccountAuditEntry>();

            switch (op)
            {
            case DataOperation.Update:
                AccountAuditEntry broadcast_audit_entry = GetBroadcastAccountAuditEntry(session, sec);
                if (broadcast_audit_entry != null)
                {
                    result.Add(broadcast_audit_entry);
                }
                break;

            case DataOperation.Create:
                AccountAuditEntry audit_entry = GetBroadcastAccountAuditEntry(session, sec);
                if (audit_entry == null)
                {
                    audit_entry = GetPublicAccountAuditEntry(session, sec);
                }
                result.Add(audit_entry);
                break;
            }
            return(result);
        }
Exemplo n.º 2
0
        public AccountAuditEntry GetBroadcastAccountAuditEntry(ISession session, ManagedSecurityContext sec)
        {
            if (mInstance.DiscussionPostParent != null)
            {
                return(null);
            }

            if (mInstance.DiscussionThread.Discussion.ObjectId == 0)
            {
                return(null);
            }

            if (mInstance.DiscussionThread.Discussion.DataObject.Name != typeof(AccountAuditEntry).Name)
            {
                return(null);
            }

            AccountAuditEntry broadcast_audit_entry = session.Load <AccountAuditEntry>(mInstance.DiscussionThread.Discussion.ObjectId);

            if (!broadcast_audit_entry.IsBroadcast)
            {
                return(null);
            }

            broadcast_audit_entry.Url         = string.Format("DiscussionThreadView.aspx?id={0}&did={1}", mInstance.DiscussionThread.Id, mInstance.DiscussionThread.Discussion.Id);
            broadcast_audit_entry.Description = string.Format("[user:{0}] broadcasted <a href=\"{1}\">{2}</a><p>{3}</p>",
                                                              mInstance.AccountId, broadcast_audit_entry.Url, Renderer.Render(mInstance.Subject), Renderer.GetSummary(mInstance.Body));
            broadcast_audit_entry.IsPrivate = false;
            return(broadcast_audit_entry);
        }
Exemplo n.º 3
0
        public AccountAuditEntry GetPublicAccountAuditEntry(ISession session, ManagedSecurityContext sec)
        {
            string            url         = string.Format("DiscussionThreadView.aspx?id={0}&did={1}", mInstance.DiscussionThread.Id, mInstance.DiscussionThread.Discussion.Id);
            AccountAuditEntry audit_entry = ManagedAccountAuditEntry.CreatePublicAccountAuditEntry(session, sec.Account,
                                                                                                   string.Format("[user:{0}] posted <a href=\"{1}\">{2}</a> in [discussion:{3}]",
                                                                                                                 mInstance.AccountId, url, Renderer.Render(mInstance.Subject), mInstance.DiscussionThread.Discussion.Id), url);

            return(audit_entry);
        }
        public IEnumerable <AccountAuditEntry> GetAccountAuditEntries(ISession session, Account account, string url)
        {
            IList <string>           result_strings = GetAccountAuditStrings();
            List <AccountAuditEntry> result         = new List <AccountAuditEntry>(result_strings.Count);

            foreach (string s in result_strings)
            {
                AccountAuditEntry entry = ManagedAccountAuditEntry.CreatePublicAccountAuditEntry(
                    session, account, s, url);
                result.Add(entry);
            }
            return(result);
        }
Exemplo n.º 5
0
        public override IList <AccountAuditEntry> CreateAccountAuditEntries(ISession session, ManagedSecurityContext sec, DataOperation op)
        {
            List <AccountAuditEntry> result = new List <AccountAuditEntry>();

            switch (op)
            {
            case DataOperation.Create:
                string            url   = string.Format("AccountFeedItemView.aspx?id={0}", mInstance.Id);
                AccountAuditEntry entry = ManagedAccountAuditEntry.CreatePublicAccountAuditEntry(session, mInstance.AccountFeed.Account,
                                                                                                 string.Format("[user:{0}] x-posted <a href=\"{1}\">{2}</a> in [feed:{3}]",
                                                                                                               mInstance.AccountFeed.Account.Id, url, Renderer.Render(mInstance.Title), mInstance.AccountFeed.Id),
                                                                                                 url);
                entry.Created = entry.Updated = mInstance.Created;
                result.Add(entry);
                break;
            }
            return(result);
        }
Exemplo n.º 6
0
        public void RunCleanAccountAuditEntries(ISession session, ManagedSecurityContext sec)
        {
            IEnumerable <AccountAuditEntry> audit_entries = session.CreateQuery(
                string.Format(
                    "FROM AccountAuditEntry AccountAuditEntry" +
                    " WHERE AccountAuditEntry.Updated < '{0}'", DateTime.UtcNow.AddDays(-14).ToString(DateTimeFormatInfo.InvariantInfo)))
                                                            .Enumerable <AccountAuditEntry>();

            IEnumerator <AccountAuditEntry> enumerator = audit_entries.GetEnumerator();

            while (enumerator.MoveNext() && !IsStopping)
            {
                AccountAuditEntry        audit_entry = enumerator.Current;
                ManagedAccountAuditEntry ma          = new ManagedAccountAuditEntry(session, audit_entry);
                ma.Delete(sec);
                session.Flush();
            }
        }
Exemplo n.º 7
0
 public static ACL GetACL(ISession session, AccountAuditEntry instance, Type type) { return new ManagedAccountAuditEntry(session, instance).GetACL(type); }
Exemplo n.º 8
0
 public static string GetObjectName(AccountAuditEntry instance, int id) { return "Broadcast"; }
Exemplo n.º 9
0
 public static int GetOwnerId(AccountAuditEntry instance, int id) { return instance.AccountId; }
Exemplo n.º 10
0
 public static ACL GetACL(ISession session, AccountAuditEntry instance, Type type)
 {
     return(new ManagedAccountAuditEntry(session, instance).GetACL(type));
 }
Exemplo n.º 11
0
 public static string GetObjectName(AccountAuditEntry instance, int id)
 {
     return("Broadcast");
 }
Exemplo n.º 12
0
 public static int GetOwnerId(AccountAuditEntry instance, int id)
 {
     return(instance.AccountId);
 }