diff options
author | 杨宇千 <crupest@outlook.com> | 2019-11-20 18:21:17 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-20 18:21:17 +0800 |
commit | ae5bb5cbef2aec94673e26712d7937fca3996f5b (patch) | |
tree | 788b8acdf1141c757cb3226d3cd5f64594386b8f /Timeline/Services/TimelineMemberOperationUserException.cs | |
parent | 37a2e6340ab20de1f9e847d795c0cbec9846de97 (diff) | |
parent | ca87f6781a5b0e80989a66be338a699846c40f8d (diff) | |
download | timeline-ae5bb5cbef2aec94673e26712d7937fca3996f5b.tar.gz timeline-ae5bb5cbef2aec94673e26712d7937fca3996f5b.tar.bz2 timeline-ae5bb5cbef2aec94673e26712d7937fca3996f5b.zip |
Merge pull request #54 from crupest/timeline
Add core feature Timeline (currently only personal timeline)
Diffstat (limited to 'Timeline/Services/TimelineMemberOperationUserException.cs')
-rw-r--r-- | Timeline/Services/TimelineMemberOperationUserException.cs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Timeline/Services/TimelineMemberOperationUserException.cs b/Timeline/Services/TimelineMemberOperationUserException.cs new file mode 100644 index 00000000..543ee160 --- /dev/null +++ b/Timeline/Services/TimelineMemberOperationUserException.cs @@ -0,0 +1,37 @@ +using System;
+using System.Globalization;
+
+namespace Timeline.Services
+{
+ [Serializable]
+ public class TimelineMemberOperationUserException : Exception
+ {
+ public enum MemberOperation
+ {
+ Add,
+ Remove
+ }
+
+ public TimelineMemberOperationUserException() : base(Resources.Services.Exception.TimelineMemberOperationException) { }
+ public TimelineMemberOperationUserException(string message) : base(message) { }
+ public TimelineMemberOperationUserException(string message, Exception inner) : base(message, inner) { }
+ protected TimelineMemberOperationUserException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
+
+ public TimelineMemberOperationUserException(int index, MemberOperation operation, string username, Exception inner)
+ : base(MakeMessage(operation, index), inner) { Operation = operation; Index = index; Username = username; }
+
+ private static string MakeMessage(MemberOperation operation, int index) => string.Format(CultureInfo.CurrentCulture,
+ Resources.Services.Exception.TimelineMemberOperationExceptionDetail, operation, index);
+
+ public MemberOperation? Operation { get; set; }
+
+ /// <summary>
+ /// The index of the member on which the operation failed.
+ /// </summary>
+ public int? Index { get; set; }
+
+ public string? Username { get; set; }
+ }
+}
|