Example #1
0
        private static Result <IEnumerable <KeyValuePair <TargetPart, Tuple <ResultItem, ResultItem> > >, string> GetZip2Position(IEnumerable <ResultPair> positionList, IEnumerable <ResultPair> scheduleList)
        {
            Func <Result <ResultItem, string> > defaultTerm = () => (Result.Fail <ResultItem, string>(RESULT_DETAILS_INVALID_TERM));
            Func <Result <ResultItem, string> > defaultData = () => (Result.Fail <ResultItem, string>(RESULT_DETAILS_INVALID_DATA));

            Func <TargetItem, TargetItem, TargetPart> indexBuilder  = (xa, xb) => (xb.Part());
            Func <TargetItem, TargetItem, int>        compareTarget = (xa, xb) => (xa.Seed().CompareTo(xb.Part()));

            var positionZips = ResultMonadUtils.Zip2ToResultWithKeyValListAndError(positionList, scheduleList,
                                                                                   defaultTerm, defaultData, indexBuilder, compareTarget);

            return(positionZips);
        }
                private Result <IEnumerable <KeyValuePair <TargetPart, Tuple <ResultItem, ResultItem> > >, string> GetZip2Position(IEnumerable <ResultPair> positionList, IEnumerable <ResultPair> scheduleList)
                {
                    Func <Result <ResultItem, string> > defaultPosition = () => (Result.Fail <ResultItem, string>("position missing"));
                    Func <Result <ResultItem, string> > defaultSchedule = () => (Result.Fail <ResultItem, string>("schedule missing"));

                    Func <TargetItem, TargetItem, TargetPart> indexBuilder  = (xa, xb) => (xb.Part());
                    Func <TargetItem, TargetItem, int>        compareTarget = (xa, xb) => (xa.Seed().CompareTo(xb.Part()));

                    var positionZips = ResultMonadUtils.Zip2ToResultWithKeyValListAndError(positionList, scheduleList,
                                                                                           defaultPosition, defaultSchedule, indexBuilder, compareTarget);

                    return(positionZips);
                }