internal OperationResult <CurrentBalanceDto> Execute(SellOrdersRequestDto request) { currentBalance = CurrentBalanceDto.ConvertFromInitialBalance(request.InitialBalance); if (!request.OrderList.Any()) { return(new OperationResult <CurrentBalanceDto>(currentBalance)); } messageErrorList = new List <ErrorDto>(); var orderList = request.OrderList.OrderBy(x => x.TimeStamp).ToList(); orderList.ForEach(x => { switch (x.Operation) { case "SELL": SellOperation(x); break; case "BUY": BuyOperation(x); break; } }); return(new OperationResult <CurrentBalanceDto>(currentBalance, messageErrorList, true)); }
public static SellOrderResponseDto Build(IEnumerable <ErrorDto> errorList, CurrentBalanceDto currentBalance) { return(new SellOrderResponseDto() { CurrentBalance = currentBalance, Success = errorList == null || !errorList.Any() || !errorList.Any(x => x.Type == 1), BusinessErrorList = errorList ?? new List <ErrorDto>() }); }