public static ResultMessage CreateResult(this MessageEnvelope envelope, ResultStatusCodes status = ResultStatusCodes.InternalError, List <Effect> effects = null) { if (envelope == null) { throw new ArgumentNullException(nameof(envelope)); } var messageType = envelope.Message.MessageType; if (envelope.Message is RequestQuantum) { messageType = ((RequestQuantum)envelope.Message).RequestEnvelope.Message.MessageType; } switch (messageType) { case MessageTypes.HandshakeInit: return(CreateResult <HandshakeResult>(envelope, status, effects)); case MessageTypes.AccountDataRequest: return(CreateResult <AccountDataResponse>(envelope, status, effects)); case MessageTypes.WithdrawalRequest: return(CreateResult <ITransactionResultMessage>(envelope, status, effects)); default: return(CreateResult <ResultMessage>(envelope, status, effects)); } }
private static void AsserResult(MessageEnvelope resultMessage, ResultStatusCodes targetResult) { if (resultMessage.Message is ResultMessage result) { Assert.AreEqual(result.Status, targetResult, "Result message status assertion."); return; } Assert.Fail("Specified message is not result message."); }
public static string GetDescription(this ResultStatusCodes status) { switch (status) { case ResultStatusCodes.Success: return("Success"); case ResultStatusCodes.Unauthorized: return("Unauthorized"); case ResultStatusCodes.InternalError: return("InternalError"); } throw new NotImplementedException($"Description for status code {status.ToString()} was not specified."); }
public BaseServiceResult(ResultStatusCodes statusCode, T data, T1 dataT1, T2 dataT2, T3 dataT3, string message = null) : base(statusCode, data, dataT1, dataT2, message) { DataT3 = dataT3; }
private static TResultMessage CreateResult <TResultMessage>(this MessageEnvelope envelope, ResultStatusCodes status = ResultStatusCodes.InternalError, List <Effect> effects = null) where TResultMessage : ResultMessage { if (envelope == null) { throw new ArgumentNullException(nameof(envelope)); } var resultMessage = Activator.CreateInstance <TResultMessage>(); resultMessage.OriginalMessage = envelope; resultMessage.Status = status; resultMessage.Effects = effects ?? new List <Effect>(); return(resultMessage); }