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); }
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); }
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); }
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); }
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(); } }
public static ACL GetACL(ISession session, AccountAuditEntry instance, Type type) { return new ManagedAccountAuditEntry(session, instance).GetACL(type); }
public static string GetObjectName(AccountAuditEntry instance, int id) { return "Broadcast"; }
public static int GetOwnerId(AccountAuditEntry instance, int id) { return instance.AccountId; }
public static ACL GetACL(ISession session, AccountAuditEntry instance, Type type) { return(new ManagedAccountAuditEntry(session, instance).GetACL(type)); }
public static string GetObjectName(AccountAuditEntry instance, int id) { return("Broadcast"); }
public static int GetOwnerId(AccountAuditEntry instance, int id) { return(instance.AccountId); }