/// <summary> /// archive message. /// </summary> /// <param name="repository"> /// The repository. /// </param> /// <param name="messageId"> /// The message Id. /// </param> /// <param name="messageFlags"> /// The message Flags. /// </param> public static void Archive( this IRepository <UserPMessage> repository, [NotNull] int messageId, [NotNull] PMessageFlags messageFlags) { CodeContracts.VerifyNotNull(repository); messageFlags.IsArchived = true; repository.UpdateOnly(() => new UserPMessage { Flags = messageFlags.BitValue }, m => m.ID == messageId); }
/// <summary> /// Mark Private Message as read. /// </summary> /// <param name="repository"> /// The repository. /// </param> /// <param name="messageId"> /// The message Id. /// </param> /// <param name="messageFlags"> /// The message Flags. /// </param> public static void MarkAsRead( this IRepository <UserPMessage> repository, [NotNull] int messageId, [NotNull] PMessageFlags messageFlags) { CodeContracts.VerifyNotNull(repository); if (messageFlags.IsRead) { return; } messageFlags.IsRead = true; repository.UpdateOnly(() => new UserPMessage { Flags = messageFlags.BitValue }, m => m.ID == messageId); }