Exemple #1
0
        public async Task AcceptAsync(
            Guid id,
            string customerId,
            long nonce,
            string masterWalletAddress,
            OperationType type,
            string contextJson,
            DateTime createdAt,
            string transactionHash)
        {
            using (var context = _contextFactory.CreateDataContext())
            {
                var operation = OperationEntity.Create(
                    id,
                    customerId,
                    masterWalletAddress,
                    nonce,
                    type,
                    contextJson,
                    createdAt,
                    transactionHash);
                await context.Operations.AddAsync(operation);

                var operationRequest = new OperationRequestEntity {
                    Id = id
                };
                context.OperationRequests.Remove(operationRequest);

                await context.SaveChangesAsync();
            }
        }
        public double Strategy(OperationRequestEntity requestEntity)
        {
            OperationContext contextBaseOperation = null;

            switch (requestEntity.OperationType)
            {
            case OperationTypeEnum.Add:
                contextBaseOperation = new OperationContext(new AddContextOperation());
                break;

            case OperationTypeEnum.Minus:
                contextBaseOperation = new OperationContext(new MinusContextOperation());
                break;

            case OperationTypeEnum.Multiply:
                contextBaseOperation = new OperationContext(new MulContextOperation());
                break;

            case OperationTypeEnum.Divide:
                contextBaseOperation = new OperationContext(new DivContextOperation());
                break;
            }

            return(contextBaseOperation.GetResult(requestEntity.num1, requestEntity.num2));
        }
        public double SimpleFactory(OperationRequestEntity requestEntity)
        {
            var operationFactory = new OperationFactory();
            var operation        = operationFactory.CreateOperation(requestEntity.OperationType);

            return(operation.GetResult(requestEntity.num1, requestEntity.num2));
        }
        public double Normal(OperationRequestEntity requestEntity)
        {
            double result = 0;

            switch (requestEntity.OperationType)
            {
            case OperationTypeEnum.Add:
                result = requestEntity.num1 + requestEntity.num2;
                break;

            case OperationTypeEnum.Minus:
                result = requestEntity.num1 - requestEntity.num2;
                break;

            case OperationTypeEnum.Multiply:
                result = requestEntity.num1 * requestEntity.num2;
                break;

            case OperationTypeEnum.Divide:
                result = requestEntity.num1 / requestEntity.num2;
                break;

            default:
                break;
            }

            return(result);
        }
Exemple #5
0
        public async Task <Guid> AddAsync(string customerId, long nonce, string masterWalletAddress, OperationType type, string contextJson)
        {
            using (var context = _contextFactory.CreateDataContext())
            {
                var operationRequest = OperationRequestEntity.Create(
                    customerId,
                    masterWalletAddress,
                    nonce,
                    type,
                    contextJson);

                await context.OperationRequests.AddAsync(operationRequest);

                await context.SaveChangesAsync();

                return(operationRequest.Id);
            }
        }
        public double StrategySimpleFactory(OperationRequestEntity requestEntity)
        {
            var contextBaseOperation = new OperationContext(requestEntity.OperationType);

            return(contextBaseOperation.GetResult(requestEntity.num1, requestEntity.num2));
        }