Пример #1
0
        public IAuthenticator?SelectAuthenticator(IOperationRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            return(request.Authenticator ?? _securitySchemeSetRegistry.SelectAuthenticator(request.GetType()));
        }
Пример #2
0
        public static string ToStr(this IOperationRequest info, bool isForParent = false)
        {
            StringBuilder builder = new StringBuilder();

            if (info == null)
            {
                builder.AppendLine(string.Format("IOperationRequest=null"));
            }
            else
            {
                builder.AppendLine(string.Format("IOperationRequest.OperationCode={0}", info.OperationCode));
                builder.AppendLine(string.Format("IOperationRequest.WebFlags={0}", info.WebFlags));
                builder.AppendLine(info.Parameters.ToStr <byte, object>("IOperationRequest.Parameters"));

                if (!isForParent)
                {
                    if (info is IJoinGameRequest)
                    {
                        ToStr((IJoinGameRequest)info, true);
                    }



                    if (info is ILeaveGameRequest)
                    {
                        ToStr((ILeaveGameRequest)info, true);
                    }


                    if (info is IRaiseEventRequest)
                    {
                        ToStr((IRaiseEventRequest)info, true);
                    }


                    if (info is ISetPropertiesRequest)
                    {
                        ToStr((ISetPropertiesRequest)info, true);
                    }

                    if (info is ICloseRequest)
                    {
                        ToStr((ICloseRequest)info, true);
                    }
                }
            }

            return(builder.ToString());
        }
 internal static OperationEntity Create(IOperationRequest request, string txHash)
 {
     return(new OperationEntity
     {
         Id = request.Id,
         CustomerId = request.CustomerId,
         MasterWalletAddress = request.MasterWalletAddress,
         Nonce = request.Nonce,
         Timestamp = DateTime.UtcNow,
         CreatedAt = request.CreatedAt,
         Type = request.Type,
         // Operations can be created only in Accepted state
         Status = OperationStatus.Accepted,
         // Since operation is in Accepted state the transaction hash is required
         TransactionHash = txHash,
         ContextJson = request.ContextJson
     });
 }
Пример #4
0
        public void RegisterOperation(string trackId, IOperationRequest request, IOperationResponse response, DateTime date)
        {
            var journalFound = _journal.TryGetValue(trackId, out var journalOperations);

            if (!journalFound)
            {
                journalOperations = new List <JournalOperation>();
            }

            var calculation = $"{request.GetFormatedRequest()} = {response.GetFormatedResponse()}";
            var operation   = new JournalOperation
            {
                Operation   = request.GetOperationName(),
                Calculation = calculation,
                Date        = date
            };

            journalOperations.Add(operation);
            _journal.TryAdd(trackId, journalOperations);
        }
Пример #5
0
 public Operation(RedisSocket socket, IOperationRequest request, IOperationResponse <T> response)
 {
     this.socket   = socket;
     this.request  = request;
     this.response = response;
 }
Пример #6
0
 public OperationAction(IOperationRequest <T> operationRequest, IOperationResponse <U> operationResponse, IOperationContext <V> operationContext)
 {
     this.operationRequest  = operationRequest;
     this.operationResponse = operationResponse;
     this.operationContext  = operationContext;
 }