Exemple #1
0
        protected override Result <(Price[], Position[])> GetInputs()
        {
            var pricesResult = ResultEx.TryCatch(GetInputPrices);

            if (pricesResult is Failure <Price[]> getPricesFail)
            {
                return(new Failure <(Price[], Position[])>(getPricesFail.Reason));
            }

            var positionsResult = ResultEx.TryCatch(GetInputPositions);

            if (positionsResult is Failure <Position[]> getPostionsFail)
            {
                return(new Failure <(Price[], Position[])>(getPostionsFail.Reason));
            }

            // finally we succeeded
            if (pricesResult is Success <Price[]> pricesSuccess &&
                positionsResult is Success <Position[]> positionsSucces)
            {
                return(new Success <(Price[], Position[])>((pricesSuccess.Value, positionsSucces.Value)));
            }

            return(new Failure <(Price[], Position[])>("SequentalAppFlow.GetInputs - Fatal error."));
        }