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); }
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)); }