示例#1
0
        protected override void ExecuteTool(IDSFDataObject dataObject, int update)
        {
            var allErrors = new ErrorResultTO();
            var errors    = new ErrorResultTO();

            allErrors.MergeErrors(errors);
            InitializeDebug(dataObject);
            try
            {
                AddDebugInputs(dataObject, update);
                var colItr  = new WarewolfListIterator();
                var nowDate = DateTime.Now.ToString(GlobalConstants.Dev2DotNetDefaultDateTimeFormat, CultureInfo.InvariantCulture);

                var input1Itr = new WarewolfIterator(dataObject.Environment.EvalStrict(string.IsNullOrEmpty(Input1) ? nowDate : Input1, update));
                colItr.AddVariableToIterateOn(input1Itr);

                var evalInp2 = dataObject.Environment.EvalStrict(string.IsNullOrEmpty(Input2) ? nowDate : Input2, update);

                var input2Itr = new WarewolfIterator(evalInp2);
                colItr.AddVariableToIterateOn(input2Itr);

                var ifItr = new WarewolfIterator(dataObject.Environment.Eval(InputFormat ?? string.Empty, update));
                colItr.AddVariableToIterateOn(ifItr);
                var indexToUpsertTo = 1;
                while (colItr.HasMoreData())
                {
                    var transObj = ConvertToDateTimeDiffTo(colItr.FetchNextValue(input1Itr),
                                                           colItr.FetchNextValue(input2Itr),
                                                           colItr.FetchNextValue(ifItr),
                                                           OutputType);
                    var comparer   = DateTimeConverterFactory.CreateStandardComparer();
                    var expression = Result;

                    if (comparer.TryCompare(transObj, out string result, out string error))
                    {
                        expression = AssignResults(dataObject, update, allErrors, indexToUpsertTo, expression, result);
                    }
                    else
                    {
                        DoDebugOutput(dataObject, expression, update);
                        allErrors.AddError(error);
                    }
                    indexToUpsertTo++;
                }
示例#2
0
        public void DateTimeConverterFactory_CreateStandardComparer()
        {
            var standardComparer = DateTimeConverterFactory.CreateStandardComparer();

            Assert.AreEqual(typeof(StandardDateTimeComparer), standardComparer.GetType());
        }