123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- using System;
- namespace Vinno.IUS.Common.Network.Transfer
- {
- public class ResultMessage: DictionaryMessage, IEquatable<ResultMessage>
- {
- /// <summary>
- /// Gets the result code for the result.
- /// </summary>
- public int ResultCode { get; }
-
- public ResultMessage(int code) : base(SystemTags.Result)
- {
- ResultCode = code;
- AddMessage(SystemTags.ResultCode,new IntegerElement(ResultCode));
- }
- protected ResultMessage(Message message) : base(message)
- {
- ResultCode = GetElement<IntegerElement>(SystemTags.ResultCode).Value;
- }
- public static ResultMessage Convert(Message message)
- {
- try
- {
- if (message.Tag.Id != SystemTags.Result.Id)
- {
- return null;
- }
- return new ResultMessage(message);
- }
- catch (Exception)
- {
- //DoNothing.
- }
- return null;
- }
- public bool Equals(ResultMessage other)
- {
- if (ReferenceEquals(null, other)) return false;
- return ResultCode == other.ResultCode;
- }
- public override bool Equals(object obj)
- {
- if (ReferenceEquals(null, obj)) return false;
- if (ReferenceEquals(this, obj)) return true;
- if (!(obj is ResultMessage)) return false;
- return Equals((ResultMessage) obj);
- }
- public override int GetHashCode()
- {
- return ResultCode;
- }
- public static bool operator ==(ResultMessage left, ResultMessage right)
- {
- return Equals(left, right);
- }
- public static bool operator !=(ResultMessage left, ResultMessage right)
- {
- return !Equals(left, right);
- }
- }
- }
|